চকোলেট বারের mদ্বারা প্রদত্ত n, m,nধনাত্মক, বারটি ভাঙ্গার বিভিন্ন উপায়গুলিকে mn1 দ্বারা 1 টুকরো করে আউটপুট করুন যেখানে প্রতিটি বিরতি গ্রিডলাইনে ঘটে।
অর্ডার গুরুত্বপূর্ণ। টুকরোগুলিও আলাদা আলাদা, সুতরাং 1 বাই 3 চকোলেট বারের উভয় প্রান্তে দুটি টুকরা সমতুল্য নয়।
উদাহরণস্বরূপ, 2 বাই 2 ব্লকের জন্য আমাদের কাছে রয়েছে:
_ _ _ _ _ _ _ _
|_‖_| -> |‗| |_| -> |_| |‗| -> |_| |_|
|_‖_| |_| |_| _ |_| _ _
|_| |_| |_|
_ _ _ _ _ _ _ _
|_‖_| -> |_| |‗| -> |‗| |_| -> |_| |_|
|_‖_| |_| |_| |_| _ _ _
|_| |_| |_|
_ _ _ _ _ _ _ _
|‗|‗| -> |_‖_| -> |_| |_| -> |_| |_|
|_|_| _ _ _ _ _ _
|_|_| |_‖_| |_| |_|
_ _ _ _ _ _ _ _
|‗|‗| -> |_|_| -> |_‖_| -> |_| |_|
|_|_| _ _ _ _ _ _
|_‖_| |_| |_| |_| |_|
সুতরাং 2 বাই 2 চকোলেট বারটি ভাঙ্গার 4 উপায় রয়েছে।
বিধি
ফাংশন ইনপুট, এসটিডিআইএন, কমান্ড লাইন বা অনুরূপ মাধ্যমে ইনপুট দুটি পূর্ণসংখ্যা হবে। একক সংখ্যার আউটপুট, চকোলেট বারটি ভাঙ্গার বিভিন্ন উপায় ways
যেহেতু সংখ্যাগুলি বেশ দ্রুত চলে যায়, তাই চিন্তা করবেন না যদি আউটপুটটি আপনার ভাষার পূর্ণসংখ্যার সীমা অতিক্রম করে - আপনার জমা দেওয়া ততক্ষণ বৈধ হবে যতক্ষণ না অ্যালগোরিদম তাত্ত্বিকভাবে সমস্ত সম্ভাব্য ইনপুটগুলির জন্য কাজ করে।
পরীক্ষার মামলা
আউটপুট ক্রমের উপর নির্ভর করে না 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=) এর চেয়ে দীর্ঘতর কোড হতে পারে।