चुनौती
आपने एक मित्र को एक नक्शा दिया है जो इस तरह दिखता है:
|
/
|
/
|
\
|
\
D
एक साधारण नक्शा जो शीर्ष पर शुरू होता है और सबसे नीचे होता है। अफसोस की बात है कि आपका दोस्त नहीं मिला। क्या आप मैप को डीकोड कर सकते हैं ताकि वह उसे पढ़ सके?
इनपुट
इनपुट से मिलकर वर्णों की स्ट्रिंग है |, /, \, D, ^, Y, (स्थान) , और नई-पंक्तियों।
|एक ही कॉलम में रहने के लिए कहता है।\दाएं और नीचे कॉलम में जाने के लिए कहता है 1।/कॉलम को बाईं ओर ले जाने के लिए कहता है और नीचे 1।Dगंतव्य को चिह्नित करता है।^(यदि मौजूद है) पथ में एक विभाजन के बारे में बताता है।Y(यदि मौजूद है) रास्तों के बारे में बताता है। इसे एक की तरह व्यवहार करें|।
इनपुट की व्यवस्था की जाएगी ताकि यह एक तरह का रास्ता बनाए:
|
|
\
|
^
/ \
/ |
D |
हमेशा दो रास्तों के बीच एक स्थान होगा, और सभी पथ या तो फिर से जुड़ जाएंगे या इनपुट की अंतिम पंक्ति तक पहुंच जाएंगे। प्रति नक्शे में केवल एक विभाजन होगा। इनपुट मैप की लंबाई की कोई सीमा नहीं है। दो से ज्यादा रास्ते कभी नहीं होंगे।
उत्पादन
आउटपुट दिशाओं का एक स्ट्रिंग होना चाहिए।
- " L " को अपने मित्र को L eft को स्थानांतरित करने और 1 कदम आगे बढ़ाने के लिए कहना चाहिए ।
- " R " को अपने मित्र को R ight स्थानांतरित करने और 1 कदम आगे बढ़ाने के लिए कहना चाहिए ।
- " एफ " को अपने दोस्त को 1 कदम आगे बढ़ने के लिए कहना चाहिए।
इनपुट उदाहरण मानचित्र के लिए, आउटपुट निम्नानुसार होगा:
F F L F R R R
ध्यान दें कि आपका मित्र मानचित्र के शीर्ष पर शुरू हो रहा है और मानचित्र का सामना कर रहा है। उसके दृष्टिकोण से दिशाएँ दें। "^" की एक आवृत्ति के लिए, आपका कार्यक्रम गंतव्य (डी) की ओर जाने वाले मार्ग को चुनने में सक्षम होना चाहिए। यदि दो पथ पुनर्संयोजित होते हैं, तो आपके प्रोग्राम |को अनुसरण करने के लिए सबसे सीधा रास्ता (सबसे अधिक s वाला) चुनना होगा । दिशाओं को रिक्त स्थान द्वारा अलग किया जाना चाहिए, और डी पर समाप्त होना चाहिए ।
उदाहरण
इनपुट
|
|
\
\
^
/ |
| |
\ |
\ \
\ \
\ /
Y
D
उत्पादन
F F L L L F F F L L R F
चूंकि बायीं ओर के पथ में केवल 1 है |, इसलिए हम सबसे सही पथ का उपयोग करते हैं जिसमें 3 है।
इनपुट
\
|
/
|
\
|
/
D
उत्पादन
L F R F L F R
इनपुट
/
\
/
\
^
\ \
D \
उत्पादन
R L R L R L
अन्य जानकारी
- यह कोड गोल्फ है, इसलिए अगले बुधवार 19 अगस्त तक सबसे छोटा कोड वाला व्यक्ति जीत जाता है।
- रचनात्मक प्रतिक्रिया का स्वागत और बहुत सराहना की।
- आंशिक रूप से ए मैप टू हिडन ट्रेजर से प्रेरित है
- शीर्षक को कुछ और रचनात्मक बनाने के लिए स्वतंत्र महसूस करें।
- यदि आप गलतियाँ पाते हैं जो मैंने की हैं, तो उन्हें सुधारें।
- और हां, मज़े करो।
धन्यवाद!
थोड़ी देर हो सकती है, हो सकता है, लेकिन जावास्क्रिप्ट में विजेता कोडिंग अपरिभाषित हो! प्रवेश करने वाले सभी लोगों को धन्यवाद। कोई अन्य प्रविष्टि स्वीकार नहीं की जाएगी।
Lके लिए ^और दो Lदो के लिए /? और आपने उदाहरण Fके अंत में दो और क्यों जोड़े Y?
L L, जो मुझे लगता है कि होना चाहिएL L L। उदाहरण के साथYअभी भी1अंत में है और यह भी लगता है कि अन्य त्रुटियां हैं। मैं नक्शे को पढ़ता हूं जैसेF F R R R F F F R R L Fकि मैं नियमों को सही ढंग से समझता हूं।