एक चींटी एक वायरफ्रेम क्यूब के किनारों (चेहरे नहीं) के साथ चलती है। प्रत्येक शीर्ष पर उसका सामना एक कांटे से होता है, जहां से दो नए किनारों की शाखा निकलती है। चींटी चुनती है कि किस रास्ते को मोड़ना है - leftया right। ये दिशा चींटी के सापेक्ष होती है, जो कशेरुक का सामना कर रही है और घन के बाहर है। आपका लक्ष्य यह निर्धारित करना है कि चींटी ने जो विकल्प left/ rightविकल्प चुने हैं, क्या वह उसी स्थिति में समाप्त होता है, जिस दिन वह शुरू हुआ था।
उदाहरण के लिए, यदि चींटी चार बार बाईं ओर मुड़ती है ( left left left left), तो यह एक वर्गाकार वामावर्त का पता लगा लेती है और उसी स्थान पर समाप्त हो जाती है, जहां से उसने शुरुआत की थी। लेकिन, अगर यह चला जाता है, तो यह left left left left rightघन पर एक अलग स्थान पर समाप्त हो जाएगा। इसके अलावा, अगर यह चला जाता है, तो यह left right right right leftअपने शुरुआती छोर पर समाप्त होता है लेकिन विपरीत शीर्ष का सामना करना पड़ता है, जो एक ही स्थिति के रूप में नहीं गिनता है।
चींटी का रास्ता किनारों को दोहरा सकता है, जिसमें यह शुरू हुआ किनारा भी शामिल है, लेकिन पूरे अनुक्रम के बाद यह क्या मायने रखता है।
एक नामांकित फ़ंक्शन को लिखें जो चींटी के अनुक्रम में मुड़ता है और आउटपुट करता है कि क्या चींटी अनुक्रम के बाद अपनी शुरुआती स्थिति में वापस आ गई है। किसी अनाम फ़ंक्शन को एक चर में असाइन करना, इसे एक नामित फ़ंक्शन बनाने के लिए पर्याप्त है।
(संपादित करें: यदि आपकी भाषा एक नामित कार्य नहीं कर सकती है, तो यह STDIN / या स्टैक के माध्यम से इनपुट और आउटपुट के साथ फ़ंक्शन को लागू कर सकती है। यदि यह संभव नहीं है, तो इसे एक स्निपेट बनाएं जिसमें इनपुट और आउटपुट सहेजे जाते हैं। चर।)
इनपुट
का एक अनुक्रम left/ rightलंबाई के निर्णय 0करने के लिए 31अपनी पसंद का एक स्वरूप में प्रस्तुत किया समावेशी,। यह अक्षरों की एक स्ट्रिंग R/ L, संख्याओं की सूची 1/ -1या बूलियंस की एक सरणी हो सकती है। उन्हें कोड नाम या तार आपके कोड के लिए उपयोगी होने की तरह कुछ भी नहीं है।
कृपया नीचे दिए गए परीक्षण मामलों से भिन्न होने पर परीक्षण मामलों को अपने प्रारूप में पोस्ट करें।
उत्पादन
True/ False, 0/ 1, या आपकी भाषा में एनालॉग्स।
मानदंड जीतना
सबसे कम बाइट्स जीतता है। याद रखें, आपको एक नामित फ़ंक्शन देने की आवश्यकता है। आपके पास फ़ंक्शन के बाहर कोड हो सकता है, लेकिन वे बाइट्स भी गिनते हैं। यदि कई बार कॉल किया जाता है तो आपके फ़ंक्शन को सही ढंग से व्यवहार करना चाहिए।
परीक्षण के मामलों
True मामले (एक प्रति पंक्ति, दूसरा एक खाली सूची है):
1 1 1 1
-1 -1 -1 -1
1 -1 1 -1 1 -1
1 1 -1 -1 1 1 -1 -1
-1 1 1 -1 -1 1 1 -1
1 1 1 -1 -1 -1 -1 1
1 -1 -1 1 -1 -1
1 1 1 1 -1 -1 -1 -1 1 -1 -1 1 -1 -1
-1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
False मामले (प्रति पंक्ति एक):
1
1 1
1 1 1
-1 1
1 -1 -1 -1 1
1 -1 -1 1 1
-1 1 -1 1
1 1 1 1 -1
-1 -1 1 -1 1 -1 -1 1
1 -1 1 1 1 1 -1 -1 -1 1 1 -1 -1 -1
यहाँ L's और R' s के साथ एक ही परीक्षण के मामले हैं ।
True मामलों:
RRRR
LLLL
RLRLRL
RRLLRRLL
LRRLLRRL
RRRLLLLR
RLLRLL
RRRRLLLLRLLRLL
LLLRLLRRLRLRRRRRRRRRRRRRRRRR
False मामलों:
R
RR
RRR
LR
RLLLR
RLLRR
LRLR
RRRRL
LLRLRLLR
RLRRRRLLLRRLLL
अतिरिक्त ऋण चुनौती
एक ही बात है, लेकिन एक घन के बजाय एक dodecahedron के साथ । विचारों के लिए हंट द वम्पस देखें ।