आप एक टर्मिनल के अंदर रहते हैं जो कि 80 अक्षर चौड़ा है। आप ऊब गए हैं, इसलिए आप डोमिनोज़ खेलने का फैसला करते हैं। नहीं, स्क्रैबल की तरह दिखने वाली बोरिंग किस्म नहीं, एक मजेदार तरीका जहां आप उन्हें एक सेकंड में गिरने के लिए एक घंटा बिताते हैं।
टर्मिनलों में, डोमिनोज़ इस तरह दिखते हैं:
| upright domino
\ left-tilted domino
/ right-tilted domino
__ fallen domino
जैसा कि हम सभी जानते हैं, अगर एक झुका हुआ डोमिनोज़ एक ईमानदार को छूता है, तो दूसरा डोमिनो भी झुक जाता है। इसका एकमात्र अपवाद यह है कि यदि दो झुके हुए डोमिनोज़ इसे छूते हैं:
|\ --> \\ /| --> // /|\ --> /|\
अपने टर्मिनल के गुरुत्वाकर्षण स्थिर को समायोजित करें ताकि यह संक्रमण 100 एमएस हो जाए।
यदि एक झुका हुआ डोमिनोज़ दूसरे डोमिनोज़ या टर्मिनल की दीवारों द्वारा समर्थित है, तो इसकी यात्रा समाप्त हो जाती है।
कोई भी झुके हुए डोमिनोज़ में नहीं
\||||____||||/__ /|\ /\ /|\ __\||||____||||/
(80 अक्षर) आगे बढ़ेंगे, चूंकि दो सबसे बाहरी झुके हुए डोमिनोज़ टर्मिनल की दीवारों द्वारा समर्थित हैं और अन्य सभी अन्य डोमिनोज़ द्वारा समर्थित हैं।
हालाँकि, यदि झुकाव दिशा में जगह खाली है, तो डोमिनोज़ नीचे गिर जाता है:
| \\ --> |__\ // | --> /__|
टर्मिनल। गुरुत्वाकर्षण स्थिरांक। तुम समझ गए…
अंत में, बाईं ओर से थोड़ी हवा है, इसलिए दाएं झुके हुए डोमिनोज बाएं झुके हुए लोगों की तुलना में तेजी से गिरते हैं:
|/ \| --> |__\|
कार्य
एक प्रोग्राम / फ़ंक्शन लिखें जो टर्मिनल में डोमिनोज़ खेलने का एक एनीमेशन दिखाता है।
आपके कोड को निम्न कार्य करना चाहिए:
इनपुट से एक स्ट्रिंग पढ़ें, डोमिनोज़ की प्रारंभिक स्थिति का प्रतिनिधित्व करता है।
इस स्ट्रिंग में 80 से अधिक अक्षर नहीं होंगे और केवल ऊपर और खाली स्थानों पर वर्णित डोमिनोज़ शामिल होंगे।
राज्य को प्रिंट करें और 100 एमएस की प्रतीक्षा करें।
ऊपर बताए अनुसार राज्य का रूपांतरण करें।
यदि राज्य बदल गया है, तो 2 पर वापस जाएं।
अतिरिक्त नियम
इनपुट स्ट्रिंग की लंबाई टर्मिनल की चौड़ाई को प्रभावित नहीं करती है; यहां तक कि अगर स्ट्रिंग 80 वर्णों से छोटी है, तो टर्मिनल की दीवारें अभी भी 80 वर्णों से अलग हैं।
हर बार चरण 2 को निष्पादित किया जाता है, राज्य को उसी स्थान पर मुद्रित किया जाना चाहिए, पिछले राज्य को अधिलेखित करना।
चूँकि कुछ भाषाएँ वास्तव में 100 ms प्रतीक्षा करने में असमर्थ हैं , इसलिए 50 और 1000 ms के बीच किसी भी राशि की प्रतीक्षा करने के लिए स्वतंत्र महसूस करें।
मानक कोड-गोल्फ नियम लागू होते हैं।
उदाहरण
प्रारंभिक अवस्था के लिए
||\/||
निम्नलिखित प्रिंट करें (एक के ऊपर एक):
||\/|| |\\//| \\\/// __\\//__
प्रारंभिक अवस्था के लिए
/||||\
निम्नलिखित प्रिंट करें
/||||\ //||\\ ///\\\
प्रारंभिक अवस्था के लिए
/|||\
निम्नलिखित प्रिंट करें
/|||\ //|\\
प्रारंभिक अवस्था के लिए
|/ \|/ \|/ \|/ \|
निम्नलिखित प्रिंट करें:
|__\|__\|__\|__\|
प्रारंभिक अवस्था के लिए (80 वर्ण)
\||||____||||/__ /|\ /\ /|\ __\||||____||||/
निम्नलिखित प्रिंट करें
\||||____||||/__ /|\ /\ /|\ __\||||____||||/
/
या/|
आप देखेंगे कि टाइल को सभी तरह से गिरना नहीं चाहिए जैसा कि इसे करना चाहिए।