परिचय
Sisyphus को हाल ही में काम में कुछ परेशानी हो रही थी। ऐसा लगता है कि वह कभी भी कुछ भी नहीं करता है, और वह इस समस्या का समाधान खोजना पसंद करेगा।
उनके वर्तमान रोजगार के लिए एक पहाड़ी पर एक चट्टान को रोल करने की आवश्यकता है। वह आमतौर पर अपना काम अच्छी तरह से करता है, लेकिन हर बार जब वह पहाड़ी की चोटी के पास होता है तो वह फिर से लुढ़क जाता है।
वह वास्तव में अपनी नौकरी से निराश हो रहा है और पहाड़ी पर लुढ़कते हुए कंप्यूटर का अनुकरण करते हुए वैज्ञानिक रूप से समस्या को हल करना चाहता है।
ऐसा होता है कि Sisyphus प्रोग्रामिंग में विशेष रूप से अच्छा नहीं है, इसलिए शायद आप उसकी मदद कर सकते हैं?
चुनौती
इस मूर्खतापूर्ण परिचय के बाद, चलो व्यापार में आते हैं। आपके कार्यक्रम को पहाड़ी और चट्टान का एक चित्रण मिलेगा जो इस तरह दिखता है:
#o
##
###
######
########
जहां #पहाड़ी के एक हिस्से का oप्रतिनिधित्व करता है और चट्टान का प्रतिनिधित्व करता है।
अब आपको एक प्रोग्राम लागू करना होगा जो रॉक 1 लेयर को नीचे ले जाए। उदाहरण के लिए, ऊपर का आउटपुट होना चाहिए:
#
##o
###
######
########
यदि वहाँ एक क्षैतिज रूप से भी क्षेत्र है, तो पहाड़ी क्षैतिज रूप से लुढ़कती है, इसलिए ...
o
########
... यह सिर्फ पत्थर के रोल को बग़ल में बना देगा।
o
########
यदि एक ऊर्ध्वाधर क्षेत्र है, तो चट्टान एक कदम नीचे गिरती है, इसलिए ...
#o
#
#
#####
... उपज होगी ...
#
#o
#
#####
आपको छवि की चौड़ाई और ऊंचाई क्रमशः छवि के ऊपर एक पंक्ति में भी प्राप्त होगी। तो, पूरा, हमारे नमूना इनपुट इस तरह दिखेगा:
10 5
#o
##
###
######
#########
(ध्यान दें कि यहां व्हाट्सएप स्पेस है। टेक्स्ट का चयन करें और देखें कि मेरा क्या मतलब है।)
कुछ विवरण
- जब प्रोग्राम चलाने के दौरान रॉक पहले से ही अंतिम पंक्ति में है, तो आप प्रोग्राम को समाप्त करने का विकल्प चुन सकते हैं या अपरिवर्तित इनपुट का उत्पादन कर सकते हैं
- पहाड़ी केवल नीचे की ओर जाती है
आपके प्रोग्राम को आउटपुट को बिल्कुल उसी तरह प्रारूपित करना चाहिए जैसे इनपुट (आयामों सहित), इसलिए यदि आप प्रोग्राम के आउटपुट को स्वयं पाइप करते हैं, तो यह अगले चरण की गणना करता है।
आप मान सकते हैं कि हमेशा नीचे की ओर एक रास्ता है, इसलिए इनपुट जहां पथ "अवरुद्ध" है अपरिभाषित व्यवहार का कारण बन सकता है
आप मान सकते हैं कि अंतिम पंक्ति में हमेशा एक स्थान होता है। चट्टान को वहां "आराम" करना चाहिए, इसलिए कार्यक्रम को कुछ बार कॉल करने के बाद, हमेशा इसे अपने आप में आउटपुट करना, आपको अंतिम पंक्ति में रॉक के साथ समाप्त होना चाहिए, जहां पहले स्थान था।
आप किसी भी रूप में इनपुट स्वीकार कर सकते हैं, जैसे (स्टडिन, फ़ाइल, ...)। आपको WHOLE प्रोग्राम (इसलिए सभी प्री-इनिशियलाइज्ड वैरिएबल काउंट को कोड के रूप में पोस्ट करना होगा)।
लाइनों के साथ समाप्त कर रहे हैं
\n।आप यहां कुछ उदाहरण इनपुट प्राप्त कर सकते हैं (सुनिश्चित करें कि आप रिक्त स्थान को सही ढंग से कॉपी कर रहे हैं!)
यह कोड-गोल्फ है , इसलिए कम से कम बाइट्स जीत के साथ काम करने वाला सबमिशन ।
विजेता को 26 जुलाई 2014 को चुना जाएगा। आप उसके बाद समाधान पोस्ट कर सकते हैं, लेकिन आप जीत नहीं सकते
यदि आपके कोई प्रश्न हैं, तो मुझे टिप्पणियों में बताएं।
हैप्पी गोल्फिंग!
#s हैं, इसलिए अंत में एक स्थान है क्योंकि चौड़ाई 10. है। इस मामले में (कुछ पुनरावृत्तियों के बाद) चट्टान जहां व्हॉट्सऐप है (वहां सबसे नीचे होगा) -दांया कोना)।
