इस छवि पर एक नज़र डालें। विशेष रूप से, छोर पर छेद कैसे व्यवस्थित किए जाते हैं।
( छवि स्रोत )
ध्यान दें कि इस छवि में पाइप एक हेक्सागोनल पैटर्न में कैसे पैक किए जाते हैं। यह ज्ञात है कि 2 डी में, एक हेक्सागोनल जाली सर्कल की घनी पैकिंग है। इस चुनौती में, हम हलकों की पैकिंग की परिधि को कम करने पर ध्यान केंद्रित करेंगे। परिधि की कल्पना करने का एक उपयोगी तरीका यह है कि मंडलियों के संग्रह के चारों ओर एक रबर बैंड लगाने की कल्पना करें।
काम
n
इनपुट के रूप में एक सकारात्मक पूर्णांक को देखते हुए , n
कसकर संभव के रूप में पैक किए गए मंडलियों का एक संग्रह दिखाएं ।
नियम और स्पष्टीकरण
- मान लें कि मंडलियों का व्यास 1 इकाई है।
- कम से कम किया जाने वाला चर परिधि की लंबाई है, जिसे समूह में हलकों के केंद्रों के उत्तल हल के रूप में परिभाषित किया गया है । इस छवि पर एक नज़र डालें:
एक सीधी रेखा में तीन वृत्तों में 4 की परिधि होती है (उत्तल हल एक 2x0 आयत है, और 2 को दो बार गिना जाता है), 120 डिग्री के कोण में व्यवस्थित होने वालों की परिधि लगभग 3.85 होती है, और त्रिभुज की परिधि होती है। केवल 3 इकाइयों की। ध्यान दें कि मैं अतिरिक्त पाई इकाइयों को अनदेखा कर रहा हूं कि वास्तविक परिधि होगी क्योंकि मैं केवल उनके किनारों को नहीं बल्कि मंडलियों के केंद्रों को देख रहा हूं।
- किसी भी दिए गए समाधान के लिए (और लगभग निश्चित रूप से) कई समाधान हो सकते हैं
n
। आप अपने विवेक से इनमें से किसी का भी उत्पादन कर सकते हैं। ओरिएंटेशन कोई मायने नहीं रखता। - वृत्त एक षट्कोणीय जाली पर होना चाहिए।
- मंडलियों का व्यास कम से कम 10 पिक्सेल होना चाहिए, और भरा जा सकता है या नहीं।
- आप या तो एक कार्यक्रम या एक समारोह लिख सकते हैं।
- इनपुट को एसटीडीआईएन के माध्यम से फ़ंक्शन तर्क या निकटतम समकक्ष के रूप में लिया जा सकता है।
- आउटपुट किसी फ़ाइल में प्रदर्शित या आउटपुट किया जा सकता है।
उदाहरण
नीचे मेरे पास 1 से 10 तक के लिए वैध और अमान्य आउटपुट उदाहरण हैं (केवल पहले पांच के लिए वैध उदाहरण)। वैध उदाहरण बाईं ओर हैं; दाईं ओर के प्रत्येक उदाहरण में संबंधित मान्य उदाहरण की तुलना में अधिक परिधि है।
इस चुनौती को लिखने के लिए मदद के लिए स्टीववे्रिल का बहुत धन्यवाद। खुश पैकिंग!