एक बैलेट नंबर , जिसे हम B लेबल करेंगे , एक B से (B + 1) / 2 के माध्यम से एक त्रिकोण में संख्याओं को व्यवस्थित करने के तरीकों की संख्या है, जैसे कि प्रत्येक पंक्ति और स्तंभ किसी भी बढ़ते क्रम में है। पहले चार मतपत्र संख्याएँ हैं:
a(0) = 1
a(1) = 1
a(2) = 1
a(3) = 2
a(3)
2 है, जिसका अर्थ है कि 3(3+1)/2 = 6
ऐसे त्रिकोण में 1 से संख्याओं को व्यवस्थित करने के 2 तरीके हैं :
1 1
2 3 or 2 4
4 5 6 3 5 6
देखें OEIS अनुक्रम प्रविष्टि अधिक जानकारी के लिए।
आपकी चुनौती, एक बैलट त्रिकोण है, इसकी शुद्धता को सत्यापित करना है। यदि यह एक बैलेट त्रिकोण (पंक्तियों और स्तंभों की बढ़ती स्थिति) को संतुष्ट करता है, तो आपको त्रिकोण को सही ढंग से व्यवस्थित करने के लिए कितने अन्य तरीकों (इनपुट में एक को छोड़कर ) का उत्पादन करना चाहिए । यदि इनपुट त्रिकोण गलत तरीके से बनाया गया है, तो आपको कुछ भी आउटपुट नहीं करना चाहिए।
अनुगामी newlines की अनुमति है।
इनपुट
संख्याओं का एक त्रिकोण, जो वैध मत त्रिकोण हो सकता है या नहीं हो सकता है। उदाहरण के लिए:
1
2 3
4 5 6
1
10 5
9 8 2
7 6 4 3
1
3 2
9
2 11
14 3 5
12 8 1 7
15 13 10 4 6
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
16 17 18 19 20 21
उत्पादन
यदि इनपुट वैध मतपत्र त्रिकोण है, तो शेष संख्याओं को मान्य मतपत्र त्रिभुज में व्यवस्थित करने के शेष तरीके। यदि इनपुट वैध मतपत्र त्रिकोण नहीं है, तो कुछ भी नहीं। उदाहरण के लिए, ऊपर दिए गए इनपुट इन आउटपुट ( <nothing>
वास्तविक खाली आउटपुट के लिए एक प्लेसहोल्डर) हैं:
1 # the same as a(3)-1
<nothing>
<nothing>
<nothing>
33591 # the same as a(6)-1
स्कोरिंग
यह कोड-गोल्फ है : हमेशा की तरह, सबसे कम बाइट-काउंट जीतता है। टाईब्रेकर जल्द से जल्द पोस्ट किया गया है।
1/4 5/2 3 6
मान्य क्यों नहीं है?