मेरे पास बोर्डों का एक गुच्छा है मुझे जितना संभव हो उतना छोटा स्थान में ढेर करने की आवश्यकता है। दुर्भाग्य से, बोर्ड गिर जाते हैं यदि मैं उन्हें 10 से अधिक उच्च करता हूं। मुझे यह बताने के लिए एक कार्यक्रम की आवश्यकता है कि बोर्डों को जितना संभव हो उतना कम क्षैतिज स्थान लेने के लिए स्टैक किया जाए, बिना बोर्डों को दस से अधिक ऊंचा किए बिना, या खाली जगह पर बोर्ड लटकाए बिना।
आपका कार्य:
एक प्रोग्राम या फ़ंक्शन लिखें, जब बोर्ड की लंबाई वाली एक सरणी दी जाती है, तो ASCII के रूप में आउटपुट, बोर्ड को स्टैक करने के तरीके को जितना संभव हो उतना क्षैतिज स्थान को संरक्षित करने के लिए, 10 से अधिक उच्च या किसी भी हिस्से के बिना बोर्डों को स्टैक करने के बिना। बोर्ड खाली जगह पर लटका हुआ है। आपकी ASCII कला को एक अलग चरित्र का उपयोग करके दिखाए गए प्रत्येक के साथ बोर्डों के कॉन्फ़िगरेशन को दिखाना चाहिए। इसमें अधिकतम 20 बोर्ड होंगे। उदाहरण के लिए, यदि इनपुट [2,2,4,2,2,4,4,4] था, एक संभावित आउटपुट है:
dhh
dgg
dff
dee
abc
abc
abc
abc
जो एक स्थिर विन्यास है (हालांकि यह वास्तविक जीवन में ~ 0.1 सेकंड में गिर जाएगा)।
इनपुट:
एक सरणी जिसमें 20 पूर्णांक होते हैं, जो बोर्डों की लंबाई दिखाते हैं।
आउटपुट:
ASCII कला बोर्डों के विन्यास दिखा रहा है, जैसा कि ऊपर उल्लिखित है।
परीक्षण के मामलों:
ध्यान दें कि परीक्षण मामलों के लिए अन्य समाधान हो सकते हैं, और प्रत्येक बोर्ड के लिए दिखाए गए वर्ण भिन्न हो सकते हैं।
[12,2,2,2,3,4,4,8,8] -> ffgghhiii
ddddeeeeeeee
bbbbbbbbcccc
aaaaaaaaaaaa
[4,4,4,4,4,4,4,4,4,4,4,4] -> llll
aaaa
cfghk
cfghk
cfghk
cfghk
debij
debij
debij
debij
[4,4,4,4,4,4,3,3,3,2,2,2,1] -> jjml
iiil
hhhk
gggk
ffff
eeee
dddd
cccc
bbbb
aaaa
स्कोरिंग:
यह कोड-गोल्फ है , बाइट्स जीत में सबसे कम स्कोर