अंडरग्राउंड के रॉयल साइंटिस्ट अल्फिस ने एक नई पहेली के लिए एक प्रोटोटाइप तैयार किया है। हालाँकि, वह किसी को भी इसका परीक्षण करने के लिए तैयार नहीं लगती है।
उसकी पहेली के नियम इस प्रकार हैं:
लक्ष्य दाईं ओर प्राप्त करना है, जो बाईं ओर सेंटीमीटर टाइल से शुरू होता है। सम-विषम ऊँचाइयों वाली पहेलियों के लिए, दो केंद्र टाइलों के निचले हिस्से पर शुरू करें। (उदाहरण: एक शून्य-अनुक्रमित 4x4 सरणी में, शुरुआती स्थिति [2,0] होगी - पंक्ति 2, कॉलम 0. एक शून्य-अनुक्रमित 5x5 सरणी में प्रारंभिक स्थिति [2,0] होगी - पंक्ति 2, कॉलम 0.)
प्रत्येक रंगीन टाइल का अपना "दुखवादी" कार्य होता है:
- गुलाबी और हरे रंग की टाइलें ("पी" और "जी" के रूप में प्रतिनिधित्व) कुछ नहीं करती हैं
- लाल और पीले रंग की टाइलें ("आर", "वाई") अगम्य हैं।
- ऑरेंज टाइल्स ("ओ") खिलाड़ी को संतरे की तरह महक देते हैं
- बैंगनी टाइल ("यू") खिलाड़ी को अगली टाइल के लिए उस दिशा में मजबूर करते हैं जो वे सामना कर रहे हैं और उन्हें नींबू की तरह गंध करते हैं
- जब तक खिलाड़ी संतरे की तरह गंध नहीं करता तब तक नीली टाइलें ("बी") निष्क्रिय हैं ।
फ्लेवर मैकेनिक को स्पष्ट करने के लिए, एक खिलाड़ी की गंध अनिश्चित काल तक या एक अलग-अलग महक वाली टाइल द्वारा ओवरराइड किए जाने तक बनी रहेगी, यानी यदि कोई खिलाड़ी नारंगी टाइल पर कदम रखता है तो वे संतरे की तरह गंध लेंगे जब तक कि वे बैंगनी टाइल पर कदम नहीं रखते।
इसके अतिरिक्त, एक नीली टाइल के साथ खड़ी या क्षैतिज रूप से रखी गई एक पीले रंग की टाइल के कारण नीली टाइल भी अगम्य हो जाएगी।
आपका कार्य एक प्रोग्राम या फ़ंक्शन लिखना है जो कि 2-आयामी चरित्र सरणी (या 1 डी स्ट्रिंग सरणी, या कुछ अन्य मान्य प्रारूप) को स्वीकार करता है, पहेली के लेआउट को इनपुट के रूप में प्रस्तुत करता है और मूल पहेली और हल की गई पहेली दोनों को तारांकन या कुछ के साथ आउटपुट करता है। अन्य चरित्र सही रास्ता दिखा रहा है। माना कि दी गई पहेली हल करने योग्य है।
एक उदाहरण के रूप में इस पहेली का उपयोग करें:
BGYBG
PGPBG
PUBPB
OUGYB
PPOPP
आपका कार्यक्रम आउटपुट होगा:
BGYBG
PGPBG
PUBPB
OUGYB
PPOPP
BGYBG
PGPBG
*****
OUGYB
PPOPP
इस्तेमाल किया किसी भी पहेली उपयोग करते हुए उत्पन्न किया जाना चाहिए इस ।
मानक कोड गोल्फ नियम लागू होते हैं। सर्वश्रेष्ठ उत्तर प्रत्येक भाषा के लिए सबसे छोटा होगा। उत्तर में भाषा, बाइट्स की संख्या और तीन परीक्षण मामले शामिल होने चाहिए। पहले दो आपके द्वारा चुने गए किसी भी लेआउट हो सकते हैं, लेकिन तीसरा होना चाहिए:
RRRR
RPPR
PUOR
RPBP