गेम बैटलब्लॉक थियेटर में कभी-कभी एक पहेली होती है जो लाइट्स आउट का एक सामान्यीकृत संस्करण है । आपको तीन समीपवर्ती ब्लॉक मिले हैं, जिनमें से प्रत्येक बार और 1 के बीच एक स्तर को इंगित करता है जिसमें बार शामिल हैं, जैसे:
|
||||
||
यदि आप किसी ब्लॉक को स्पर्श करते हैं, तो उस ब्लॉक के साथ-साथ किसी भी निकटवर्ती ब्लॉक को उसके स्तर में वृद्धि होगी (4 से 1 से पीछे की ओर लपेटते हुए)। जब तीनों खंड समान स्तर दिखाते हैं (यह कोई फर्क नहीं पड़ता कि कौन सा स्तर है) पहेली हल हो गई है। चूंकि, आप जिस क्रम में ब्लॉक को स्पर्श करते हैं, वह कोई मायने नहीं रखता है, हम एक समाधान को निरूपित करते हैं कि प्रत्येक ब्लॉक को कितनी बार स्पर्श किया जाता है। उपरोक्त इनपुट के लिए इष्टतम समाधान होगा 201
:
| --> || --> ||| |||
|||| | || |||
|| || || --> |||
खेल बहुत आसानी से किसी भी संख्या में ब्लॉकों को सामान्य करता है, हालांकि कुछ संख्याओं के लिए, सभी कॉन्फ़िगरेशन हल नहीं हैं।
चुनौती
ब्लॉक स्तरों के अनुक्रम को देखते हुए, पहेली को हल करने के लिए प्रत्येक ब्लॉक को कितनी बार छुआ जाना चाहिए। उदाहरण के लिए उपरोक्त उदाहरण दिया जाएगा 142
और इसके 201
परिणामस्वरूप परिणाम मिल सकता है । यदि कोई समाधान नहीं है, तो अपनी पसंद के कुछ सुसंगत आउटपुट लौटाएं , जो सभी संभावित समाधानों, जैसे -1
या खाली स्ट्रिंग से अलग है।
आप एक फ़ंक्शन या प्रोग्राम लिख सकते हैं, किसी भी सुविधाजनक सूची या स्ट्रिंग प्रारूप में STDIN, कमांड-लाइन तर्क या फ़ंक्शन तर्क के माध्यम से इनपुट ले सकते हैं, और इसी तरह आउटपुट को रिटर्न मान के माध्यम से या STDOUT पर प्रिंट करके।
आपका कोड एक उचित मशीन पर एक मिनट के भीतर सभी परीक्षण मामलों के लिए सही परिणाम लौटाए। (यह पूरी तरह से सख्त सीमा नहीं है, इसलिए यदि आपके समाधान में एक मिनट और दस सेकंड का समय लगता है, तो यह ठीक है, लेकिन अगर यह 3 लेता है, तो यह नहीं है। एक अच्छा एल्गोरिदम आसानी से सेकंड में उन्हें हल करेगा।)
यह कोड गोल्फ है, इसलिए सबसे छोटा उत्तर (बाइट्स में) जीतता है।
उदाहरण
समाधान अद्वितीय नहीं हैं, इसलिए आपको अलग-अलग परिणाम मिल सकते हैं।
Input Output
1 0
11 00
12 No solution
142 201
434 101
222 000
4113 0230
32444 No solution
23432 10301
421232 212301
3442223221221422412334 0330130000130202221111
22231244334432131322442 No solution
111111111111111111111222 000000000000000000000030
111111111111111111111234 100100100100100100100133
412224131444114441432434 113013201011001101012133
जहां तक मुझे पता है, प्रत्येक इनपुट के लिए ठीक 4 समाधान हैं जहां ब्लॉक की संख्या 0 मॉड 3, या 1 मॉड 3 है, और 0 या 16 समाधान हैं जहां यह 2 मॉड 3 है।