कुछ बिंदुओं पर ड्रॉप करने के लिए ब्लॉकों की एक सूची के इनपुट को देखते हुए, परिणामस्वरूप "टॉवर" की ऊंचाई का उत्पादन करें।
इस चुनौती को समझाने का सबसे अच्छा तरीका है उदाहरण। इनपुट एन ब्लॉक का प्रतिनिधित्व करने वाले 2 एन पूर्णांक की एक सूची होगी । पहला पूर्णांक ब्लॉक की x स्थिति, 0-अनुक्रमित है, और दूसरा यह है कि ब्लॉक कितना चौड़ा है। उदाहरण के लिए, एक इनपुट ब्लॉक का प्रतिनिधित्व करता है (नीचे दिए गए x निर्देशांक के साथ):2 4
####
0123456789
अब, मान लें कि इनपुट है 2 4 4 6। अर्थात्, x = 2 पर 4 की चौड़ाई के साथ एक ब्लॉक, और 6 की चौड़ाई के साथ x = 4 पर एक:
######
####
ध्यान दें कि टॉवर और बी के ऊपर से ए।) ब्लॉक हमेशा "ड्रॉप" करता है। ब्लॉक कभी भी "फॉल ओवर" नहीं होगा (यानी वे हमेशा संतुलन बनाएंगे)। तो, एक इनपुट का
2 4 4 6 12 1प्रतिनिधित्व करता है:
######
#### #
ध्यान दें कि अंतिम ब्लॉक "जमीन" के सभी रास्ते गिर गए हैं।
आपका अंतिम आउटपुट टॉवर की अधिकतम ऊंचाई प्रत्येक x-मान पर सबसे बड़ा होना चाहिए। इसलिए, इनपुट 2 4 4 6 12 1को आउटपुट में परिणामित करना चाहिए
0011222222001:
######
#### #
0011222222001
इनपुट या तो व्हाट्सएप के रूप में दिए जा सकते हैं- / अल्पविराम से अलग किए गए स्ट्रिंग, पूर्णांक का एक सरणी, या फ़ंक्शन / कमांड लाइन तर्क। ब्लॉक स्थिति (x मान) हमेशा पूर्णांक 0 या अधिक होगी, चौड़ाई हमेशा पूर्णांक 1 या अधिक होगी, और हमेशा कम से कम एक ब्लॉक होगा।
आउटपुट को एक एकल स्ट्रिंग के रूप में दिया जा सकता है जो गैर-संख्यात्मक वर्णों (उदा। "0, 0, 1, ...") द्वारा अलग किया जाता है , एक एकल स्ट्रिंग सभी अंकों को सूचीबद्ध करता है (उदा।
"001..."अधिकतम ऊंचाई 9 या उससे कम होने की गारंटी है), या पूर्णांक की एक सरणी।
चूंकि यह कोड-गोल्फ है , बाइट्स में सबसे छोटा कोड जीत जाएगा।
परीक्षण के मामलों:
In Out
---------------------------------------------------------
2 4 4 6 12 1 0011222222001
0 5 9 1 6 4 2 5 1133333222
0 5 9 1 2 5 6 4 1122223333
0 5 2 5 6 4 9 1 1122223334
20 1 20 1 20 1 00000000000000000003
5 5 000011111
0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 4 123456789999