परिचय
बोर्डगेम बच्चों के बीच एक क्लासिक प्ले है, लेकिन कुछ बच्चे ऐसे भी हैं जो एक बोर्डगेम स्टेप बाय स्टेप खेलते हुए बोर महसूस करते हैं। अब वे चाहते हैं कि बोर्ड पर हाथ डालने से पहले परिणाम दिखाया जाए।
चुनौती
मान लीजिए यह बोर्डगेम: >---#<---X---<X<--#-$
> means the start of the game
- means a position without danger
< means the player should return one step back
X means the player won't move next round
# means a portal where the player returns to the start position
$ the first player to get there or after there wins the game
इनपुट ऊपर वर्णित boardgame के पहलुओं और (से कुछ मूल्यों के साथ दो सरणियों के साथ एक स्ट्रिंग के होते हैं 1
करने के लिए 6
क्रम में) है कि दोनों खिलाड़ियों (बच्चा A
और बच्चे B
जब एक घन की भूमिका में) मिला था।
दोनों सरणियों में हमेशा समान लंबाई> = 1 होगी।
बच्चा A
हमेशा खेल शुरू करता है।
आपको उस बच्चे को आउटपुट करना होगा जो अंत में मिला या पहले अंत के करीब था।
यदि दोनों में से किसी को भी अंत नहीं मिला और दोनों बच्चे एक ही स्थिति के प्रिंट 0
या किसी अन्य गलत मूल्य पर बने रहे।
यदि एक ऐरे से निकलता है, जबकि दूसरे में डाइस रोल बचे हैं (एक खिलाड़ी के एक्स पर कई मोड़ गायब होने के कारण), शेष डाइस रोल का उपयोग किया जाना चाहिए।
इस कार्य के लिए, आप एक प्रोग्राम / फ़ंक्शन बना सकते हैं, जो स्टड से इनपुट पढ़ता है, या पैरामीटर / तर्क और आउटपुट / रिटर्न / विजेता बच्चे को प्रिंट करता है।
चूंकि यह कोड-गोल्फ है , बाइट्स जीत में सबसे छोटा जवाब!
उदाहरण इनपुट और आउटपुट
आप इनपुट के अलग-अलग स्वरूपों का भी उपयोग कर सकते हैं, लेकिन आपको केवल बोर्डगेम, किड-ए और किड-बी मान लेना चाहिए।
उदाहरण 1:
board: >---#<---X---<X<--#-$
kid-A: [3,6,6,5,2,1]
kid-B: [4,5,3,5,5,5]
output: A
व्याख्या:
>---#<---X---<X<--#-$ # both kids in position
B--A#<---X---<X<--#-$ # kid-A moved 3 to -
B--A#<---X---<X<--#-$ # kid-B moved 4 to # and returned home
B---#<---A---<X<--#-$ # kid-A moved 6 to X and will wait one round
B---#<---A---<X<--#-$ # kid-B moved 5 to < returned one to # and returned home
>--B#<---A---<X<--#-$ # kid-B moved 3 to -
>--B#<---X---<A<--#-$ # kid-A moved 6 to < returned one to X and will wait again
>---#<--BX---<A<--#-$ # kid-B moved 5 to -
>---#<---X--B<A<--#-$ # kid-B moved 5 to < returned one to -
>---#<---X--B<X<--#A$ # kid-A moved 5 to -
>---#<---X---<X<-B#A$ # kid-B moved 5 to -
>---#<---X---<X<-B#-$A # kid-A moved 2 and won the game!
उदाहरण 2:
board: >-<<<<<$
kid-A: [1,2,3]
kid-B: [5,5,4]
output: 0
उदाहरण 3:
board: >-<-<#<-<-<-$
kid-A: [5,4,2]
kid-B: [1,1,1]
output: B
व्याख्या:
>-<-<#<-<-<-$ # both kids in position
>-<-<#<-<-<-$ # kid-A moved 5 to # returned home
AB<-<#<-<-<-$ # kid-B moved 1 to -
>B<A<#<-<-<-$ # kid-A moved 4 to < returned one to -
>B<A<#<-<-<-$ # kid-B moved 1 to < returned one to -
AB<-<#<-<-<-$ # kid-A moved 2 to # returned home
AB<-<#<-<-<-$ # kid-B moved 1 to < returned one to -
Current position: (A:0, B:1) output: B