में चीनी चेकर्स , एक टुकड़ा किसी अन्य टुकड़े पर हॉपिंग, द्वारा या इस तरह के हॉप्स की एक दृश्य बनाने के द्वारा स्थानांतरित कर सकते हैं। आपका कार्य हॉप्स का सबसे लंबा संभव अनुक्रम खोजना है।
इनपुट
121 शून्य या एक क्रम, प्रत्येक एक बोर्ड पर एक जगह का प्रतिनिधित्व करता है। एक शून्य का मतलब है कि जगह खाली है; एक का मतलब जगह पर कब्जा है। पदों को बाएं से दाएं सूचीबद्ध किया गया है; ऊपर से नीचे। उदाहरण के लिए, इस सेटअप का इनपुट होगा
1011110011000001000000000000000000000000100000000001000000000000000000000000000001000000000000000000000001000001100111111
स्पष्टीकरण:
शीर्ष-सबसे अधिक स्थान पर एक हरे रंग का टुकड़ा होता है, इसलिए इनपुट में पहला अंक होता है
1
। दूसरी पंक्ति में एक खाली स्थिति होती है और फिर एक स्थान पर कब्जा कर लिया जाता है, इसलिए01
अगला स्थान आता है। तीसरी पंक्ति सभी के कब्जे में है, इसलिए111
। चौथी पंक्ति में दो खाली और दो कब्जे वाले स्थान हैं (बाएं से दाएं)0011
। फिर अगली पंक्ति के लिए पाँच , और0
एक1
सात आता है0
।
उस सेटअप की तरह, वहाँ एक कोने है जो सीधा इशारा करता है। बोर्ड पर किसी भी संख्या में टुकड़े हो सकते हैं (1 से 121 तक)। ध्यान दें कि अलग-अलग रंगों के टुकड़ों का अलग-अलग प्रतिनिधित्व नहीं किया जाता है।
उत्पादन
बोर्ड पर किसी भी टुकड़े का उपयोग करते हुए एक कानूनी हॉप की अधिकतम लंबाई। आप एक ही स्थान पर एक से अधिक बार नहीं जा सकते हैं (शुरुआती और समाप्ति की स्थिति सहित)। हालाँकि, आप एक ही टुकड़े पर एक से अधिक बार हॉप कर सकते हैं। यदि कोई कानूनी संभावना नहीं है, तो आउटपुट 0
। इस बात पर विचार न करें कि क्या कोई गैर-कानूनी कदम है।
उदाहरण के लिए, ऊपर वर्णित सेटअप का आउटपुट है 3
।
इनपुट और आउटपुट स्टड और स्टडआउट के माध्यम से, कमांड-लाइन तर्कों के माध्यम से, फ़ंक्शन कॉल के माध्यम से या किसी भी समान विधि से किया जा सकता है।
परीक्षण के मामलों
इनपुट:
0100000010000000000000000100000000000000000000000000000001010010000000000000000000000101000000000000000000100000000100001
आउटपुट: 0
(कोई दो टुकड़े एक दूसरे के बगल में नहीं हैं)
इनपुट:
0000000000111100000000011100000000011000000000100000000000000000000000000000000000000000000000000000000000000000000000000
आउटपुट: 1
(ऊपरी बाएँ कोने में एक खिलाड़ी के लिए प्रारंभिक सेटअप)