इनपुट:
वर्णों से युक्त भूलभुलैया:
--
(क्षैतिज दीवार);|
(वर्टिकल वॉल);+
(कनेक्शन);(चलने की जगह);
I
(प्रवेश);U
(बाहर जाएं)।
यानी एक इनपुट इस तरह दिख सकता है:
+--+--+--+--+--+--+--+--+--+--+
I | | |
+ +--+--+--+ + + + +--+ +
| | | | | |
+--+--+--+ +--+--+ + + +--+
| | | | |
+ +--+--+ + +--+--+ +--+ +
| | | | | |
+--+ + +--+--+ +--+--+ + +
| | | | | |
+ +--+--+--+ +--+--+ + + +
| | | | | |
+--+ + +--+--+ +--+--+--+--+
| | | | |
+ + +--+--+--+ +--+ + + +
| | | | | | | |
+--+--+ + +--+ + + +--+ +
| | | | | |
+ +--+--+--+ + + + + +--+
| | | | U
+--+--+--+--+--+--+--+--+--+--+
आउटपुट:
सबसे कुशल मार्ग आप चलना चाहिए भूलभुलैया के बाहर निकलने के (भूलभुलैया के माध्यम से), वर्ण ने संकेत दिया करने के लिए प्रवेश द्वार से प्राप्त करने के लिए यह दर्शाता है, बाएं, दाएं, ऊपर और नीचे (यानी >
; <
; ^
; v
)।
चुनौती नियम:
- आप किसी भी उचित प्रारूप में इनपुट ले सकते हैं। स्ट्रिंग-एरे, सिंगल स्ट्रींग विथ न्यू-लाइन्स, 2 डी चार-एरे आदि सभी संभव इनपुट फॉर्मेट हैं।
- आउटपुट में चार अलग-अलग वर्ण हो सकते हैं। Ie
><^v
;→←↑↓
;⇒⇐⇑⇓
;RLUD
;0123
;ABCD
; आदि।)। - यदि आप चाहें तो उत्पादन में रिक्त स्थान या नई-अनुगामी जोड़ सकते हैं; यह वैकल्पिक है।
- चरण प्रति वर्ग में गिने जाते हैं (
+
वर्गों के लिए चार- शब्द देखें ), और प्रति चरित्र नहीं। - भूलभुलैया 15x15 के माध्यम से आकार 5x5 हो सकता है, और हमेशा एक वर्ग होगा (इसलिए 5x10 mazes के लिए कोई परीक्षण मामले नहीं होंगे)।
- आप मान सकते हैं कि हर भूलभुलैया में शुरू से अंत तक एक या एक से अधिक वैध रास्ते हैं, और आप हमेशा सबसे कम आउटपुट करते हैं (देखें परीक्षण के मामले 4 और 5)।
- यदि एक ही लंबाई के साथ कई पथ हैं, तो आप चुन सकते हैं कि कौन सा आउटपुट करें (देखें परीक्षण केस 6)।
- आप भूलभुलैया की सीमाओं के बाहर 'चल' नहीं सकते (परीक्षण के मामले 7 और 8 देखें)।
सामान्य नियम:
- यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव संक्षिप्त उत्तर के साथ आने का प्रयास करें। - मानक नियम आपके उत्तर के लिए लागू होते हैं , इसलिए आपको उचित पैरामीटर, पूर्ण कार्यक्रमों के साथ STDIN / STDOUT, फ़ंक्शन / विधि का उपयोग करने की अनुमति है। तुम्हारा कॉल।
- डिफ़ॉल्ट लूपोल्स निषिद्ध हैं।
- यदि संभव हो, तो कृपया अपने कोड के लिए एक परीक्षण के साथ एक लिंक जोड़ें।
- इसके अलावा, यदि आवश्यक हो तो एक स्पष्टीकरण जोड़ें।
परीक्षण के मामलों:
1. Input:
+--+--+--+--+--+--+--+--+--+--+
I | | |
+ +--+--+--+ + + + +--+ +
| | | | | |
+--+--+--+ +--+--+ + + +--+
| | | | |
+ +--+--+ + +--+--+ +--+ +
| | | | | |
+--+ + +--+--+ +--+--+ + +
| | | | | |
+ +--+--+--+ +--+--+ + + +
| | | | | |
+--+ + +--+--+ +--+--+--+--+
| | | | |
+ + +--+--+--+ +--+ + + +
| | | | | | | |
+--+--+ + +--+ + + +--+ +
| | | | | |
+ +--+--+--+ + + + + +--+
| | | | U
+--+--+--+--+--+--+--+--+--+--+
1. Output:
>v>>>vv<v>>v>v>>vvv>>>
2. Input:
+--+--+--+--+--+
I | | |
+ +--+--+ + +
| | | |
+ +--+ + + +
| | | | |
+ + +--+ + +
| | |
+--+ + +--+--+
| | U
+--+--+--+--+--+
2. Output:
>vvv>>v>>>
3. Input:
+--+--+--+--+--+
U | |
+ + +--+--+ +
| | | |
+--+--+ + +--+
| | |
+ +--+--+--+ +
| | | |
+ + + + +--+
| | I
+--+--+--+--+--+
3. Output:
<<<^<v<^^>>^<^<<
4. Input (test case with two valid paths):
+--+--+--+--+--+
U | |
+ + +--+--+ +
| | |
+--+--+ + +--+
| | |
+ +--+--+--+ +
| | | |
+ + + + +--+
| | I
+--+--+--+--+--+
4. Output:
<<^>^<^<<^<< (<<<^<v<^^>>^<^<< is less efficient, and therefore not a valid output)
5. Input (test case with two valid paths):
I
+--+--+--+--+--+--+--+--+--+--+ +--+--+--+--+
| | | | |
+ + + +--+--+--+ + +--+--+ +--+--+ + +
| | | | | | | |
+--+--+--+ +--+ + +--+--+--+--+ +--+--+--+
| | | | | | | | |
+ + + + + +--+ + + + +--+--+ +--+ +
| | | | | | | |
+ +--+--+--+ +--+--+ + +--+ +--+--+ +--+
| | | | | | | | |
+ +--+ + +--+ +--+--+ +--+--+ + +--+ +
| | | | | | |
+ + +--+--+--+--+ + +--+--+--+ +--+ +--+
| | | | | | | |
+--+--+--+ + +--+--+ +--+ + +--+ +--+ +
| | | | | | | |
+ +--+--+--+--+ + + +--+--+--+ + + + +
| | | | | | | | | |
+--+ + + + + + +--+--+ + + +--+ + +
| | | | | | | | | |
+--+ +--+--+ + + + +--+--+--+ + + + +
| | | | | | | | | |
+ +--+ +--+--+ + +--+--+ + +--+ + + +
| | | | | | | | | |
+--+--+--+ + + +--+ + +--+--+ +--+ + +
| | | | | | | |
+ + +--+--+--+--+ +--+--+ +--+--+ +--+ +
| | | | | |
+ + + +--+--+--+--+--+--+--+--+ +--+ +--+
| | | |
+--+--+--+--+--+--+--+--+--+ +--+--+--+--+--+
U
5. Output:
v<<<v<vv<<v<v>>^>>^^>vvv>>>v>vv<vv<<v<v<^<^^^^<vvvvv<^<v<<v>v>>>>>>>v (v<<<v<vv<<v<v>>^>>^^>vvv>>>v>vv<vv<<v<v<^<^^^^<vvvvv>v>>>^>>^>^^>vvv<v<v<<v is less efficient, and therefore not a valid output)
6. Input:
+--+--+--+--+--+
I |
+ + + + + +
| |
+ + + + + +
| |
+ + + + + +
| |
+ + + + + +
| U
+--+--+--+--+--+
6. Output:
>>v>v>v>v> or >v>v>v>v>> or >>>>>vvvv> or etc. (all are equally efficient, so all 10-length outputs are valid)
7. Input:
I U
+ + +--+--+--+
| | | |
+ +--+--+ + +
| | | |
+--+ + +--+ +
| | | |
+ +--+ + + +
| | |
+--+ +--+--+ +
| | |
+--+--+--+--+--+
7. Output:
vv>v>^>^<<^
8. Input:
+--+--+--+--+--+
| | |
+ +--+ +--+ +
I | | | |
+ + +--+ + +
U | | | |
+--+--+ + + +
| | | |
+ +--+--+--+ +
|
+--+--+--+--+--+
8. Output:
>v<
इस उपकरण का उपयोग करके उत्पन्न (और कुछ मामलों में थोड़ा संशोधित)।
>v>>>vv<v>>v>v>>vvv>>>
।
v<<<<<<^^^^^
(हमेशा बॉक्स के बाहर सोचें)