আপনি যখন কাঠের বোর্ডে নখের সেট হাতুড়ি করেন এবং তাদের চারপাশে একটি রাবার ব্যান্ডটি জড়ান , আপনি একটি উত্তল হাল পাবেন ।
আপনার মিশন, আপনি এটি গ্রহণ করার সিদ্ধান্ত নেওয়া উচিত, এটি 2D পয়েন্টের প্রদত্ত সেটটির উত্তল হাল খুঁজে পাওয়া ।
কিছু নিয়ম:
- এটি একটি ফাংশন হিসাবে লিখুন, পয়েন্টের তালিকার সমন্বয়গুলি (যে কোনও বিন্যাসে আপনি চান) এটি আর্গুমেন্ট
- আউটপুটটি অবশ্যই ঘড়ির কাঁটার দিকের বা অ্যান্টিক্লোকের দিকের তালিকাভুক্ত উত্তরের হালের পয়েন্টগুলির তালিকা হতে হবে, যে কোনও একটি থেকে শুরু করে
- আউটপুট তালিকাটি যে কোনও যুক্তিসঙ্গত বিন্যাসে থাকতে পারে যেখানে প্রতিটি পয়েন্টের স্থানাঙ্কগুলি স্পষ্টভাবে পৃথকযোগ্য। (উদাহরণস্বরূপ কোনও এক ম্লান তালিকা নয় {0.1, 1.3, 4, ...})
- উত্তল হলের একটি অংশে যদি তিন বা ততোধিক বিন্দু একত্রিত হয় তবে কেবলমাত্র দুটি চূড়ান্তই আউটপুটটিতে রাখা উচিত
নমুনা তথ্য:
নমুনা 0
ইনপুট:
{{1, 1}, {2, 2}, {3, 3}, {1, 3}}
আউটপুট:
{{3, 3}, {1, 3}, {1, 1}}
(পরিসংখ্যানগুলি কেবল উদাহরণস্বরূপ)
নমুনা 1
ইনপুট:
{{4.4, 14}, {6.7, 15.25}, {6.9, 12.8}, {2.1, 11.1}, {9.5, 14.9},
{13.2, 11.9}, {10.3, 12.3}, {6.8, 9.5}, {3.3, 7.7}, {0.6, 5.1}, {5.3, 2.4},
{8.45, 4.7}, {11.5, 9.6}, {13.8, 7.3}, {12.9, 3.1}, {11, 1.1}}
আউটপুট:
{{13.8, 7.3}, {13.2, 11.9}, {9.5, 14.9}, {6.7, 15.25}, {4.4, 14},
{2.1, 11.1}, {0.6, 5.1}, {5.3, 2.4}, {11, 1.1}, {12.9, 3.1}}
নমুনা 2
ইনপুট:
{{1, 0}, {1, 1}, {1, -1}, {0.68957, 0.283647}, {0.909487, 0.644276},
{0.0361877, 0.803816}, {0.583004, 0.91555}, {-0.748169, 0.210483},
{-0.553528, -0.967036}, {0.316709, -0.153861}, {-0.79267, 0.585945},
{-0.700164, -0.750994}, {0.452273, -0.604434}, {-0.79134, -0.249902},
{-0.594918, -0.397574}, {-0.547371, -0.434041}, {0.958132, -0.499614},
{0.039941, 0.0990732}, {-0.891471, -0.464943}, {0.513187, -0.457062},
{-0.930053, 0.60341}, {0.656995, 0.854205}}
আউটপুট:
{{1, -1}, {1, 1}, {0.583004, 0.91555}, {0.0361877, 0.803816},
{-0.930053, 0.60341}, {-0.891471, -0.464943}, {-0.700164, -0.750994},
{-0.553528, -0.967036}}
স্ট্যান্ডার্ড কোড-গল্ফ বিধি প্রযোজ্য। কোনও অ্যাড-হক জ্যামিতি লাইব্রেরি নেই। সংক্ষিপ্ত কোড জিতেছে।
সম্পাদনা 1
আমরা এখানে একটি অ্যালগরিদমিক উত্তর খুঁজছি, ম্যাটল্যাব বা ম্যাথমেটিকায় এই জাতীয় মত একটি উত্তল হাল সন্ধানকারী প্রাক-প্রোগ্রামযুক্ত রুটিন নয়
সম্পাদনা 2
মন্তব্য এবং অতিরিক্ত তথ্যের উত্তর দেওয়া:
- আপনি ধরে নিতে পারেন ইনপুট তালিকায় ন্যূনতম সংখ্যা রয়েছে যা আপনার পক্ষে উপযুক্ত you তবে আপনাকে অবশ্যই সারিবদ্ধ (উপ) সেটগুলির যথাযথ চিকিত্সা নিশ্চিত করতে হবে।
- আপনি ইনপুট তালিকায় পুনরাবৃত্তি পয়েন্ট পেতে পারেন
- পয়েন্টগুলির সর্বাধিক সংখ্যা কেবলমাত্র উপলব্ধ মেমরির দ্বারা সীমাবদ্ধ করা উচিত
- পুনরায় "ভাসমান পয়েন্ট": আপনাকে নমুনাগুলিতে দেওয়া দশমিক স্থানাঙ্কের সাথে ইনপুট তালিকাগুলি প্রক্রিয়া করতে সক্ষম হতে হবে। আপনি ভাসমান পয়েন্ট উপস্থাপনা ব্যবহার করে এটি করতে পারেন
।