चुनौती
एक नीचे दिए गए बैगेटेल बोर्ड को देखते हुए:
| |
| /\ / |
| \ /|
| \ \ /\ \ |
| \ / \ |
|\ / / \ |
| \ / \ |
| \ |
| \ / \ /\ \ |
|\ / / \ /|
| / |
| /\ / / |
| / |
|\ / / / |
| |
----------------------
आपका कार्य 'थ्रो' की सूची को स्कोर में बदलना है।
बोर्ड हमेशा 20 अक्षर (प्लस 2 किनारों) चौड़ा होगा, लेकिन परिवर्तनीय ऊंचाई का। प्रत्येक 'थ्रो' एक संख्या होती है, जिसमें यह दर्शाया जाता है कि गेंद बोर्ड में गिरती है, जो 0 से शुरू होती है और सबसे दाईं ओर 19 के लिए छोड़ दी जाती है। प्रत्येक गेंद सीधे नीचे गिर जाएगी जब तक कि यह एक /या एक का सामना न करे \। /गेंद को एक कॉलम बाईं ओर एक शिफ्ट करने के लिए एनकाउंटर करना , और \गेंद को एक कॉलम दाईं ओर स्थानांतरित करना। स्थानांतरित होने के बाद, गेंद पहले की तरह सीधे नीचे जारी रहती है। एक थ्रो का स्कोर इस बात पर निर्भर करता है कि गेंद बोर्ड के निचले हिस्से पर कहां से टकराती है।
प्रत्येक परिष्करण की स्थिति के स्कोर इस प्रकार हैं:
| |
----------------------
01234567899876543210
और सभी बोर्डों के लिए समान हैं। पहली और आखिरी पंक्तियाँ हमेशा खाली रहेंगी। गेंद कहाँ से गिरा दिया जाता है की परवाह किए बिना नीचे तक पहुंचने के लिए गारंटी है, इसलिए कोई बोर्डों जहां यह फंस प्राप्त कर सकते हैं हो सकता है \/, \|या |/संयोजन।
इनपुट
इनपुट एसटीडीआईएन पर होगा, और बोर्ड से मिलकर एक रिक्त रेखा का अनुसरण करेगा, जिसके बाद थ्रो का प्रतिनिधित्व करने वाली संख्याओं की एक अंतरिक्ष से अलग सूची होगी।
उत्पादन
Ouput दिए गए खेल के लिए कुल स्कोर होना चाहिए।
उदाहरण के एक जोड़े
इनपुट
| |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| |
| |
----------------------
1 4 2 19 0 2 4 3 17 13 16
उत्पादन
9
इनपुट
| |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
----------------------
15 10 3 8 18 19 0 6 7 10
उत्पादन
72
इनपुट
| |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| ////////////////// |
| \\\\\\\\\\\\\\\\\\ |
| |
----------------------
1 4 18 17 14 2 0 19 15
उत्पादन
18
टेस्ट स्क्रिप्ट
मैंने जॉय और वेंटरो द्वारा लिखित कुछ परीक्षण स्क्रिप्ट का उपयोग किया है (मुझे आशा है कि वे बुरा नहीं मानते ...) इस कार्य के लिए कुछ परीक्षण बनाने के लिए: -
उपयोग: ./test [your program and its arguments]
यह कोडगोल्फ है - सबसे छोटा समाधान जीतता है।