तुम एक चूहे हो। आपके माउस मित्र सभी को पकड़ लिया गया है, और बेहोश हो गए हैं और एक चक्रव्यूह में फंस गए हैं जिसमें केवल एक ही प्रवेश / निकास है। आपके पास भूलभुलैया का एक आदर्श नक्शा है, इसलिए आप सभी को सुरक्षा के लिए अंदर ले जाने के लिए एक समाधान तैयार कर सकते हैं। हालांकि, भूलभुलैया को एक सुरक्षा प्रणाली के साथ संरक्षित किया गया है जो कि अगर एक सीमा 1000
तक पहुंच जाती है, तो एक चेतावनी को ट्रिगर करेगा , जिससे आपको कब्जा कर लिया जा सकता है और आपके बचाव मिशन को विफल कर सकता है।
भूलभुलैया की अपनी पिछली जांच से, प्रत्येक वर्ग जिसे आप चरणबद्ध करते हैं (यानी, प्रत्येक क्षैतिज या ऊर्ध्वाधर आंदोलन - चूहों तिरछे स्थानांतरित नहीं कर सकते हैं) 1
सुरक्षा प्रणाली के काउंटर में जोड़ता है। हालांकि, अगर आप एक वजन (डायनामाइट का एक ब्लॉक या एक अचेतन माउस मित्र) ले जा रहे हैं, तो 2
यह अतिरिक्त दबाव का पता लगाने के बजाय जोड़ता है। प्रवेश / निकास चौक में यह सुरक्षा प्रणाली नहीं है, और इसलिए काउंटर से नहीं जोड़ा जाता है।
आपके पास डायनामाइट की असीमित आपूर्ति है जिसे आप प्रवेश द्वार पर लाए हैं, ताकि आप अपने दोस्तों को मुक्त करने के लिए सभी दीवारों को उड़ा सकें । लेकिन आपको ऐसा करने से सतर्क रहने की जरूरत है, क्योंकि प्रत्येक विस्फोट 50
, समवर्ती दबाव से काउंटर में जुड़ जाता है। इसके अतिरिक्त, आप केवल एक समय में एक माउस या डायनामाइट के एक ब्लॉक को ले जा सकते हैं। चूंकि डायनामाइट का प्रत्येक ब्लॉक केवल एक दीवार स्थान को विस्फोट कर सकता है, इसका मतलब है कि यदि एक पंक्ति में कई दीवारें हैं, तो आपको अधिक को हथियाने के लिए प्रवेश के लिए खाली हाथ यात्रा करने की आवश्यकता है।
काम के माध्यम से उदाहरण
मान लीजिए कि हमारा चक्रव्यूह निम्नलिखित की तरह दिखता है:
######
#M# E#
######
मैं c
काउंटर के लिए उपयोग करूंगा । हम पर शुरू E
ntrance, एक वर्ग बाईं को स्थानांतरित करते हुए बारूद ले जाने, c=2
। हम, डायनामाइट विस्फोट दीवार विस्फोट के लिए c=52
। हम दो वर्गों को खाली छोड़ देते हैं, खाली हाथ, पाने के लिए c=54
, और हम अब माउस के वर्ग पर खड़े हैं। हम अपने दोस्त को उठाते हैं, और 3 वर्गों को वापस E
एक्सिट में ले जाते हैं, लेकिन अंतिम वर्ग की गिनती नहीं होती है क्योंकि इसमें कोई सेंसर नहीं है, इसलिए हमारी पीठ पर कुछ के साथ केवल 2 वर्ग हैं। इसका मतलब है कि जब हम अंतिम माउस के साथ निकास तक पहुंचते हैं c=58
, जो कि कम है 1000
, और इसलिए मिशन सफल होता है।
चुनौती
एक इनपुट भूलभुलैया, आउटपुट को देखते हुए कि क्या आप, माउस हीरो, ऊपर उल्लिखित बाधाओं के भीतर फंसे हुए चूहों को सफलतापूर्वक बचा सकते हैं, या फिर मिशन विफल है या नहीं।
इनपुट
- किसी भी स्वीकार्य प्रारूप में एक 2 डी भूलभुलैया (बहुस्तरीय स्ट्रिंग, तार की सरणी, आदि)।
- इस चुनौती के लिए, मैं
#
आंतरिक और बाहरी दोनों दीवारों केM
लिए, माउस मित्रों के लिए, औरE
प्रवेश द्वार के लिए उपयोग करूंगा । - प्रवेश द्वार तुरंत एक आंतरिक दीवार से सटे नहीं होगा (इसमें हमेशा कम से कम एक स्थान होगा जिसमें स्वतंत्र रूप से स्थानांतरित करना होगा)।
- आप किसी भी मुद्रण योग्य ASCII वर्णों को तब तक स्थानापन्न कर सकते हैं, जब तक आप इसके अनुरूप हों। यह करता है , तो आप भीतरी दीवारों बनाम बाहरी दीवारों के लिए दो अलग-अलग प्रतीकों का उपयोग करने की अनुमति इतने लंबे समय के रूप में आप स्थिरता (जैसे, आप का उपयोग करना चाहते हैं बनाए रखने के
@
बजाय भीतरी दीवारों के लिए, और छुट्टी#
के बाहरी हिस्से का, हर आंतरिक दीवार होना चाहिए@
और हर बाहरी दीवार#
)। - भूलभुलैया हमेशा पूरी तरह से दीवारों से घिरा होगा, लेकिन जरूरी नहीं कि आयताकार हो। यदि वांछित है, तो आप मान सकते हैं कि आयताकार इनपुट (वैकल्पिक) बनाने के लिए रिक्त स्थान के साथ भूलभुलैया गद्देदार है।
- भूलभुलैया में ऐसे अनुभाग हो सकते हैं जो डायनामाइट के बिना पहुंच से बाहर हैं।
- आप भूलभुलैया की बाहरी दीवारों को डायनामाइट नहीं कर सकते।
उत्पादन
एक सच्चाई / गलत मूल्य। "हाँ, माउस हर दूसरे माउस को छुड़ा सकता है" या "नहीं, अलार्म सिस्टम को टाल दिया जाएगा।"
नियम
- या तो एक पूर्ण कार्यक्रम या एक समारोह स्वीकार्य हैं।
- मानक खामियों को मना किया जाता है।
- यह कोड-गोल्फ है इसलिए सभी सामान्य गोल्फिंग नियम लागू होते हैं, और सबसे छोटा कोड (बाइट्स में) जीतता है।
उदाहरण
सत्य उदाहरण, कोरी लाइनों द्वारा अलग किया गया।
#####
#M E#
#####
######
#M# E#
######
########
#E # M#
# # #
# # #
# #
########
#############################
# ## # # #
# M ## M # # #
# ## # M # E #
#M ## # # #
#############################
###############
#MMMMMMMMMMMMM#
#MMMMMMMMMMMMM#
#MMMMMMMMMMMMM#
#MMMMMMMMMM MM#
#MMMMMMMMMMMME#
###############
झूठा उदाहरण, रिक्त लाइनों द्वारा अलग किया गया
#############################
#M ## ## ## #
# M ## M ## ## #
# ## ## M ## E #
#M ## ## ## #
#############################
#############################
########
########
# # #
# M # M#
########
#####
# M #
#####
#####
#####
#####
###################
# # # ## ## # # #
#M#M#M## E ##M#M#M#
# # # ## ## # # #
###################
#######
######
#####
####
# M#
####
###############
#MMMMMMMMMMMMM#
#MMMMMMMMMMMMM#
#MMMMMMMMMMMMM#
#MMMMMMMMMMMMM#
#MMMMMMMMMMMME#
###############