एक और भूलभुलैया चुनौती के लिए समय है, लेकिन जैसा कि आप इसे जानते हैं।
इस चुनौती के नियम ज्यादातर भूलभुलैया की चुनौतियों से थोड़े अलग हैं। टाइल प्रकारों को इस प्रकार परिभाषित किया गया है:
S
: आपके द्वारा शुरू किए गए भूलभुलैया पर स्थानE
: जिस स्थान पर आप जाने की कोशिश कर रहे हैं0
: दीवार जिसे आप पार नहीं कर सकते+
: मंजिल जिसे आप पार कर सकते हैं
आप छह दिशाओं में से एक में यात्रा कर सकते हैं: ऊपर-बाएं, ऊपर-दाएं, बाएं, दाएं, नीचे-बाएं, या नीचे-दाएं।
\ /
-S-
/ \
भूलभुलैया नहीं लपेटता है। लक्ष्य से प्राप्त करने के लिए सबसे छोटा रास्ता स्ट्रिंग को खोजने के S
लिए है E
।
इनपुट:
इनपुट अंतरिक्ष से अलग की गई रेखाएं हैं जो दिखाए गए माज़ की तरह हैं। कोई अनुगामी स्थान एक पंक्ति का अनुसरण नहीं करेगा।
आउटपुट:
एक स्ट्रिंग की R
, L
है, और F
जहां
R
आपको सही (घड़ी की दिशा में) 60 डिग्री घुमाता हैL
आपको छोड़ दिया घूमता है (घड़ी की दिशा में) 60 डिग्रीF
आपको जिस दिशा में इंगित कर रहे हैं, वहां आपको एक स्थान पर ले जाता है
आप इशारा करने लगते हैं left-up
सबसे छोटा रास्ता उत्पादित स्ट्रिंग की लंबाई से गिना जाता है, न कि आने वाले पदों की संख्या। आपके प्रोग्राम को समाधान के रूप में सबसे छोटा रास्ता प्रिंट करना होगा।
यदि भूलभुलैया अनचाहा है, तो आपको आउटपुट करना चाहिए Invalid maze!
।
( >>>
आउटपुट है)
0 0 0 0
0 + 0 + 0
0 0 0 + + 0
0 + 0 + 0 + 0
0 0 + + 0 0 + 0
0 0 + 0 + 0 0 + 0
E 0 + 0 0 + + 0
+ + 0 + 0 + 0
0 0 0 0 0 +
+ 0 + + +
0 S 0 0
>>>RFRFFLFLFRFFLFFFLFLFFRFLFLFRFRFRF
+ 0 0 0 0 0 0
0 0 0 0 0 + + 0
0 0 E 0 + 0 0 + 0
0 0 0 0 0 0 0 +
0 + 0 0 + + +
0 0 + + 0 0
S + 0 0 0
>>>Invalid maze!
0 E S
>>>LF
E + 0
0 + + +
0 0 S
+ +
>>>FFLF
E
0 +
0 + +
0 +
S
>>>RFFLFF
0 E + 0 0
0 + 0 0 + +
+ 0 + + + 0
+ 0 + 0 + 0
+ + + 0 S
>>>FFLFLFFRFRFFRFF
E 0 + + 0
0 + 0 + + 0
+ + + 0 + 0
+ 0 0 0 0 0
+ + + + 0
+ 0 S 0
>>>FLFFRFFRFLF
(ध्यान दें कि कुछ मेज़ों के अन्य समाधान हैं जो समान लंबाई के हैं, लेकिन यहां सूचीबद्ध नहीं हैं)