এই সমস্যায়, আমাদের একটি পূর্ণসংখ্যা n দেওয়া আছে যাতে n সংখ্যক লাইন উল্লম্বভাবে এবং n সংখ্যক লাইন অনুভূমিকভাবে রেখে আছে যাতে এই লাইনগুলোর মধ্যে n2 ইন্টারসেকশন থাকে। আমাদের কাজ হল ৪টি আইটেম এই ইন্টারসেকশনে রাখার মোট পদ্ধতির সংখ্যা খুঁজে বের করা
যাতে কোনো সারি এবং কলামে একটির অধিক আইটেম থাকে না।
একটি উদাহরণ নিয়ে সমস্যাটি বুঝি,
ইনপুট
n=4
আউটপুট
24
ব্যাখ্যা

এই সমস্যাটি সমাধান করতে, আমাদের n লাইন থেকে ৪টি অনুভূমিক লাইন বেছে নিতে হবে যেগুলোর ওপর আইটেম থাকবে যা nC4 হবে। এখন, প্রতিটি অনুভূমিক লাইনে n ভাবে উল্লম্ব লাইন আছে তাই, প্রথম নির্বাচিত অনুভূমিক লাইনে আইটেম রাখার n পদ্ধতি হবে। তারপর, আমরা পরবর্তী নির্বাচিত অনুভূমিক লাইনে যাবো যেখানে n-1 সম্ভাব্য প্লেসমেন্ট থাকবে। এবং একইভাবে তৃতীয়টি n-2-তে এবং চতুর্থটি n-3-তে রাখা যাবে। তাই মোট পদ্ধতির সংখ্যা হবে nC4*n*(n-1)*(n-2)*(n-3)
অ্যালগরিদমের বাস্তবায়ন দেখানোর প্রোগ্রাম,
উদাহরণ
#include <iostream> using namespace std; long long placeItems(int n) { return (1LL * (1LL * ((n) * (n - 1) * (n - 2) * (n - 3)) / (4 * 3 * 2 * 1)) * ((1LL * (n) * (n - 1) * (n - 2) * (n - 3)))); } int main() { int n = 4; cout<<"৪টি আইটেম স্থাপন করার পদ্ধতির সংখ্যা "<<n; cout<<"টি উল্লম্ব এবং অনুভূমিক লাইনের ইন্টারসেকশনে "<<placeItems(n); return 0; }
আউটপুট
৪টি আইটেম স্থাপন করার পদ্ধতির সংখ্যা ৪টি উল্লম্ব এবং অনুভূমিক লাইনের ইন্টারসেকশনে 24