सांता रात भर चुराए गए सभी उपहारों का फिर से निर्माण करने में सक्षम था! अब उन्हें पैकेजिंग के लिए उन्हें विधानसभा लाइन में भेजना होगा। उनके पास आमतौर पर असेंबली लाइन की देखरेख करने के लिए एक कैमरा होता है, दोनों यह सुनिश्चित करने के लिए कि कल्पित बौने अच्छा काम कर रहे हैं और क्योंकि असेंबली लाइन की तस्वीरें विज्ञापन पोस्टर पर अच्छी लगती हैं [उद्धरण वांछित]
दुर्भाग्य से, उसका कैमरा टूट गया, इसलिए वह आपको पसंद करेगा कि विधानसभा लाइन कैसी दिखेगी!
अधिकतम दक्षता पर काम करने वाले असेंबली लाइन को रखने और त्रुटि या विफलता के जोखिम को कम करने के लिए, सभी उपस्थित बक्से में एक ही चौड़ाई होती है ताकि वे कन्वेयर बेल्ट पर पूरी तरह से फिट हो सकें।
चुनौती
उनके आयामों द्वारा प्रस्तुत किए गए प्रस्तुत की एक सूची को देखते हुए, सभी के साथ एक कन्वेयर बेल्ट आउटपुट।
एक वर्तमान इस तरह तैयार किया गया है:
+----+
/ /|
+----+ |
| | +
| |/
+----+
इस वर्तमान में चौड़ाई 1, ऊंचाई 2, और लंबाई 4 है। ध्यान दें कि प्लस-संकेत साइड-लंबाई के लिए नहीं गिना जाता है, इसलिए लंबाई 4 के साथ एक वर्तमान में 6 स्थान हैं।
निकटतम दो पात्रों के बीच एक स्थान के साथ सभी प्रस्तुतियां एक दूसरे के बगल में खींची जाती हैं; अर्थात्, प्रस्तुत के निचले-बाएँ कोने को ऐसे फैलाया जाता है कि यदि किसी वर्तमान बॉक्स की लंबाई l
और चौड़ाई है w
, तो अगला वर्तमान बॉक्स का निचला-बाएँ कोने पिछले बॉक्स के निचले-बाएँ कोने के l + w + 4
दाईं ओर स्थित होगा ।
सभी उपस्थित बक्सों को खींचे जाने के बाद, कन्वेयर बेल्ट को width + 2
अंडरस्कोर के साथ आखिरी लाइनों में से प्रत्येक पर बक्सों के बीच के स्थान को बदलकर खींचा जाता है ।
साथ मौजूद बक्से के लिए अंतिम आउटपुट (l, w, h)
का [(4, 1, 2), (8, 1, 3), (1, 1, 1)]
होगा:
+--------+
+----+ / /|
/ /| +--------+ | +-+
+----+ | | | | / /|
| | +_| | +_+-+ +
| |/__| |/__| |/
+----+___+--------+___+-+
स्वरूपण विनिर्देशों
आप 3-टुपल्स की एक सूची लेने के लिए या तो चुन सकते हैं जहां तत्वों में से एक पूरी सूची में सुसंगत है (जो चौड़ाई होगी), या आप वर्तमान चौड़ाई ले सकते हैं और फिर 2-ट्यूपल्स की एक सूची लंबाई और प्रत्येक वर्तमान की ऊंचाई। आप किसी भी क्रम में और किसी भी उचित प्रारूप में इनपुट ले सकते हैं, लेकिन प्रस्तुत उसी क्रम में प्रदर्शित किया जाना चाहिए जो उन्हें इनपुट के रूप में दिया जाता है।
आप एएससीआईआई-कला के लिए कोई भी उचित आउटपुट प्रारूप चुन सकते हैं (एक फ़ंक्शन से वापस लौटना सहित)।
परीक्षण के मामलों
ये परीक्षण मामले [(l, w, h), ...]
प्रारूप के रूप में दिए गए हैं ।
[(4, 1, 2), (8, 1, 3), (1, 1, 1)]:
+--------+
+----+ / /|
/ /| +--------+ | +-+
+----+ | | | | / /|
| | +_| | +_+-+ +
| |/__| |/__| |/
+----+___+--------+___+-+
[(5, 3, 4), (8, 3, 1), (1, 3, 7)]:
+-+
/ /|
/ / |
+-----+ / / |
/ /| +-+ |
/ / | | | |
/ / | +--------+ | | |
+-----+ | / /| | | |
| | +___/ / +_| | +
| | /___/ / /__| | /
| | /___+--------+ /___| | /
| |/____| |/____| |/
+-----+_____+--------+_____+-+
[(0, 0, 0)] (this is the most interesting test case ever :P)
++
+++
++
[(8, 3, 0), (0, 3, 8)] (more zero cases)
++
//|
// |
// |
++ |
|| |
|| |
|| |
+--------+ || |
/ /+_|| +
/ //__|| /
/ //___|| /
+--------+/____||/
+--------+_____++
नियम
- स्टैंडर्ड लोफॉल्स लागू होते हैं
- यह कोड-गोल्फ है , इसलिए बाइट्स में सबसे कम उत्तर जीतता है
- कोई उत्तर स्वीकार नहीं किया जाएगा
नोट: मैंने इस चुनौती श्रंखला के लिए Advent of Code से प्रेरणा ली । मेरा इस साइट से कोई जुड़ाव नहीं है
आप यहां पहली चुनौती के 'लिंक्ड' सेक्शन को देखकर श्रृंखला की सभी चुनौतियों की सूची देख सकते हैं ।