हम में से बहुत से लोग ट्रॉन खेल से परिचित हैं। आप ग्रिड पर रखे "लाइटसाइकल" को नियंत्रित करते हैं। प्रकाश चक्र हमेशा आगे बढ़ता है (हालांकि आप दिशा को नियंत्रित करते हैं) और इसके पीछे एक स्थायी निशान छोड़ देता है। यदि आप एक निशान में भागते हैं, तो आप दुर्घटनाग्रस्त हो जाते हैं!
यहां लक्ष्य यह निर्धारित करना है कि क्या दिया गया मार्ग वैध लूप है, अर्थात यह "क्रैश" के बिना अपने शुरुआती बिंदु पर लौटता है। ऐसा करने के लिए, हम मानते हैं कि हम बिंदु पर शुरू करते हैं (0,0)। एक इनपुट रूप में दिया जाता N2E1S2W1प्रमुख दिशाओं (की एक श्रृंखला के साथ, Nहै north, Eहै east, और इतने पर), प्रत्येक यात्रा के लिए दूरी उस दिशा का स्थान है। इस उदाहरण में, आप यात्रा करेंगे
N2 : North 2 to (0,2)
E1 : East 1 to (1,2)
S2 : South 2 to (1,0)
W1 : West 1 to (0,0)
एक पथ को वैध माना जाता है अगर वह (0,0)किसी भी अन्य समन्वय को देखे बिना समाप्त हो जाता है (यह (0,0)बिल्कुल दो बार आता है। एक बार शुरू होने पर, और एक बार अंत में)। उपरोक्त उदाहरण की तुलना में ध्यान रखें, से प्राप्त (0,0)करने के लिए (0,2), हम आवश्यक (0,1)रूप से भी यात्रा करते हैं।
अन्य उदाहरण:
input -> output
N1E1S1W1 -> true
N1E1N1E1S2W2 -> true
N1S1E1W1 -> false // Visits (0,0) 3 times
N4E2S2W4S2E2 -> false // Visits (0,2) twice
N3E2S3 -> false // Does not return to (0,0)
N1S1 -> anything //I don't care how you evaluate this case
आपका आउटपुट किसी भी रूप में हो सकता है जब तक कि यह किसी भी सत्य या गलत मूल्य के लिए समान आउटपुट नहीं देता है।
इनपुट को स्ट्रिंग के रूप में या वर्णों की एक सूची के रूप में लिया जा सकता है, या तो फॉर्म में S1N2E3... या SNNEEE... ग्रिड आकार पर भी कोई कठिन सीमा नहीं है, लेकिन मान लें कि इनपुट कुछ भी ओवरफ्लो करने वाला नहीं है। जब तक कोड मूल रूप से ध्वनि है, तब तक मामलों को संभालना महत्वपूर्ण नहीं है N99999999999999।
ध्यान दें: आप मामलों का मूल्यांकन कर सकते हैं N1S1, E1W1, S1N1, और W1E1फिर भी आप चाहते हैं। वे तकनीकी रूप से मान्य पथ हैं, लेकिन वे चुनौती के "ट्रॉन" भावना के खिलाफ जाते हैं।
स्कोरिंग
यह कोड-गोल्फ है , इसलिए सबसे छोटा उत्तर जीतता है!
Nके रूप में 1j, Eके रूप में 1, Sके रूप में -1j, और Wके रूप में -1?
N99999999999999
N1S1अपनी परिभाषाओं के अनुरूप होना सच होना चाहिए क्योंकि यह(0, 0)दो बार और(0, 1)एक बार पहुंचता है , जो आपकी परिभाषा के तहत वैध है।