चॉकलेट बार m
द्वारा n
, m,n
सकारात्मक को देखते हुए , बार को mn
1 टुकड़ों में तोड़ने के तरीकों की संख्या को आउटपुट करें जहां प्रत्येक ब्रेक एक ग्रिडलाइन पर होता है।
आदेश महत्वपूर्ण है। टुकड़े भी अलग-अलग होते हैं, इसलिए 1 बाय 3 चॉकलेट बार के दोनों छोर बराबर नहीं होते हैं।
उदाहरण के लिए, 2 बाय 2 ब्लॉक हमारे पास है:
_ _ _ _ _ _ _ _
|_‖_| -> |‗| |_| -> |_| |‗| -> |_| |_|
|_‖_| |_| |_| _ |_| _ _
|_| |_| |_|
_ _ _ _ _ _ _ _
|_‖_| -> |_| |‗| -> |‗| |_| -> |_| |_|
|_‖_| |_| |_| |_| _ _ _
|_| |_| |_|
_ _ _ _ _ _ _ _
|‗|‗| -> |_‖_| -> |_| |_| -> |_| |_|
|_|_| _ _ _ _ _ _
|_|_| |_‖_| |_| |_|
_ _ _ _ _ _ _ _
|‗|‗| -> |_|_| -> |_‖_| -> |_| |_|
|_|_| _ _ _ _ _ _
|_‖_| |_| |_| |_| |_|
इसलिए 2 बाय 2 चॉकलेट बार को तोड़ने के 4 तरीके हैं।
नियम
इनपुट फंक्शन इनपुट, एसटीडीआईएन, कमांड लाइन या इसी तरह के दो पूर्णांक होंगे। एक ही नंबर आउटपुट, चॉकलेट बार को तोड़ने के तरीकों की संख्या।
चूंकि संख्याएं बहुत तेज़ी से बढ़ती हैं, इसलिए चिंता न करें कि क्या आउटपुट आपकी भाषा की पूर्णांक सीमा से अधिक है - आपका सबमिशन तब तक मान्य होगा जब तक एल्गोरिथम सैद्धांतिक रूप से सभी संभावित इनपुट के लिए काम करता है।
परीक्षण के मामलों
आउटपुट के आदेश पर निर्भर नहीं करता है m,n
, इसलिए परीक्षण मामलों को ऐसे सूचीबद्ध किया जाता है m <= n
।
1 1 -> 1
1 2 -> 1
1 3 -> 2
1 4 -> 6
1 5 -> 24
1 10 -> 362880
2 2 -> 4
2 3 -> 56
2 4 -> 1712
2 5 -> 92800
2 10 -> 11106033743298560
3 3 -> 9408
3 4 -> 4948992
3 5 -> 6085088256
3 10 -> 76209753666310470268511846400
4 4 -> 63352393728
A261964 एक त्रिकोण में व्यवस्थित चॉकलेट नंबर है जैसे कि प्रत्येक पंक्ति योग से मेल खाती है m+n
।
options(expressions=...)
और तर्क--max-ppsize=
) को संशोधित करने से इस एक से अधिक लंबा कोड होगा।