परिचय
जॉनी फ्रॉगर की भूमिका निभाना चाहते हैं। हालाँकि, वह बहुत अच्छा नहीं है। वास्तव में, वह केवल आगे बढ़ने की कोशिश करेगा, और उसके बाद ही प्लेटफार्मों को स्थानांतरित किया जाएगा।
पता करें कि क्या जॉनी मेंढक रास्ते के अंत तक पहुंचने का प्रबंधन करता है या यदि वह अपने रास्ते में मर जाता है।
चुनौती
कार्यक्रम इनपुट के रूप में एक Frogger ग्रिड के रूप में प्राप्त होगा , जो 0s और 1s द्वारा निम्न प्रारूप के साथ बनाया गया है:
- ग्रिड एक यादृच्छिक चौड़ाई और लंबाई का होगा, और कम से कम 3x3 होगा
1प्लेटफार्मों का प्रतिनिधित्व करता है0पानी का प्रतिनिधित्व करता हैFमेंढक की प्रारंभिक स्थिति का प्रतिनिधित्व करता है- ग्रिड की हर पहली और आखिरी लाइन केवल
1s द्वारा बनाई जाएगी , और नहीं चलेगी, और मेंढकFको आखिरी लाइन में यादृच्छिक पर रखा जाएगा - हर मध्यवर्ती परत हमेशा आगे बढ़ जाएगा, और एक होगा
<या>यह दर्शाता है कि हर पंक्ति के अंत में उसे बाएं या दाएं आ जाता है
इन प्रतीकों को अपने साथ बदलने की अनुमति है, जब तक वे सभी विशिष्ट हैं और आप अपने उत्तर में प्रतिस्थापन निर्दिष्ट करते हैं।
इनपुट किसी भी संगत प्रारूप में हो सकता है (लाइन ब्रेक के साथ स्ट्रिंग, स्ट्रिंग की सरणी, वर्णों की सरणी, ...)।
चुनौती नियम
- हर मोड़, सभी प्लेटफार्मों दिशा के आधार पर, एक वर्ग पर आ जाएगा ने संकेत
<या>संकेत - प्लेटफ़ॉर्म ग्रिड के दूसरी तरफ फिर से दिखाई देता है अगर उन्हें "स्क्रीन" से धक्का दिया जाता है
- यदि मेंढक एक चलते हुए मंच पर है, तो यह उसके साथ आगे बढ़ेगा
- उसके बाद, मेंढक शीर्ष पंक्ति की ओर एक वर्ग कूद जाएगा। मेंढक हर मोड़ पर आगे बढ़ेगा।
- यदि यह पानी में कूदता है (तो
0) मेंढक की मृत्यु हो जाती है या यह चलती प्लेटफॉर्म के साथ ग्रिड के किनारे को छूता है
यदि मेंढक जीवित रहता है और मिथ्या मूल्य अन्यथा, तो आपके कार्यक्रम को एक सत्य मूल्य का उत्पादन करना होगा।
यह कोड-गोल्फ है , इसलिए बाइट्स में सबसे कम उत्तर जीतते हैं। मानक खामियां लागू होती हैं।
उदाहरण
उदाहरण 1
इनपुट
11111
00111>
00101<
1F111
उत्पादन
1
क्रियान्वयन
1 मोड़ें:
11111
10011
01010
1F111
11111
10011
0F010
11111
बारी 2:
11111
11001
F0100
11111
11111
F1001
10100
11111
बारी 3:
11111
1F100
01001
11111
1F111
11100
01001
11111
उदाहरण 2
इनपुट
11111
00100<
00100<
1F111
उत्पादन
0
क्रियान्वयन
1 मोड़ें:
11111
01000
01000
1F111
11111
01000
0F000
11111
बारी 2:
11111
10000
F0000
11111
11111
F0000
10000
11111
बारी 3:
11111
00001
00001
11111
<या >अंत में रहेंगी ।
0है, या अगले के लिए इंतजार करेगा 1? अगर यह इंतजार कर सकता है, तो क्या यह हर तरफ आगे बढ़ेगा 1, या यह स्मार्ट तरीके से इंतजार कर सकता है? यानी परीक्षण के मामले के साथ 11111 00001< 00011< 11F11, क्या यह गलत हो जाएगा क्योंकि यह पानी में कूदता है ( चरणों के पास्टिबिन ); यह falsey हो जाएगा, क्योंकि यह (फ्रेम से बाहर ले जाता है कदम की pastebin ); या क्या यह सच होगा क्योंकि यह आगे कूदने से पहले दूसरे चरण के लिए चालाकी से इंतजार करता है ( कदमों के अतीत में )?
0।
<या>फिर हम आयताकार सरणियों को इनपुट के रूप में ले सकते हैं? वैसे, अच्छी चुनौती!