जब आप एक लकड़ी के बोर्ड में नाखूनों के एक सेट को हथौड़ा करते हैं और उनके चारों ओर एक रबर बैंड लपेटते हैं, तो आपको एक उत्तल हल मिलता है ।

आपका मिशन, क्या आपको इसे स्वीकार करने का निर्णय लेना चाहिए, किसी दिए गए सेट के 2D अंक का उत्तल हल ढूंढना है ।
कुछ िनयम:
- इसे एक फ़ंक्शन के रूप में लिखें, बिंदु की सूची निर्देशांक (किसी भी प्रारूप में आप चाहते हैं) का तर्क है
- आउटपुट को उत्तल नली में सूचीबद्ध बिंदुओं में से किसी एक पर शुरू करते हुए क्लॉकवाइज या एंटीक्लॉकवाइज बिंदुओं की सूची होनी चाहिए
- आउटपुट सूची किसी भी उचित प्रारूप में हो सकती है, जहां प्रत्येक बिंदु के निर्देशांक स्पष्ट रूप से भिन्न होते हैं। (उदाहरण के लिए नहीं एक मंद सूची {0.1, 1.3, 4, ...})
- यदि उत्तल पतवार के एक खंड में तीन या अधिक बिंदु गठबंधन किए जाते हैं, तो आउटपुट पर केवल दो चरम सीमाओं को रखा जाना चाहिए
नमूना डेटा:
नमूना ०
इनपुट:
{{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}}

नमूना २
इनपुट:
{{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
टिप्पणियों और अतिरिक्त जानकारी का जवाब देना:
- आप मान सकते हैं कि इनपुट सूची में न्यूनतम संख्या में बिंदु हैं जो आपके अनुरूप हैं। लेकिन आपको संरेखित (उप) सेटों का उचित उपचार सुनिश्चित करना चाहिए।
- आपको इनपुट सूची में बार-बार अंक मिल सकते हैं
- उपलब्ध स्मृति द्वारा केवल अंकों की अधिकतम संख्या सीमित होनी चाहिए
- "फ़्लोटिंग पॉइंट": आपको दशमलव निर्देशांक के साथ इनपुट सूचियों को संसाधित करने में सक्षम होना चाहिए जैसा कि नमूनों में दिया गया है। आप फ्लोटिंग पॉइंट प्रतिनिधित्व का उपयोग करके ऐसा कर सकते हैं
।
