কম্পিউটার

আইটেমগুলিকে n^2 অবস্থানে রাখার উপায় যাতে কোনও সারি/কলামে C++-এ একের বেশি না থাকে


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

এমনভাবে যাতে কোনও সারি এবং কলামে একটি আইটেমের বেশি না থাকে৷

সমস্যাটি বোঝার জন্য একটি উদাহরণ দেওয়া যাক,

ইনপুট

n=4

আউটপুট

24

ব্যাখ্যা

আইটেমগুলিকে n^2 অবস্থানে রাখার উপায় যাতে কোনও সারি/কলামে C++-এ একের বেশি না থাকে

এই সমস্যাটি সমাধান করার জন্য, আমাদেরকে n লাইন থেকে 4টি অনুভূমিক রেখা বেছে নিতে হবে যেখানে আইটেম থাকবে যা nC4 হবে। এখন, প্রতিটি অনুভূমিক রেখায় n উল্লম্ব রেখা রয়েছে তাই, প্রথম নির্বাচিত অনুভূমিক লাইনে একটি আইটেম স্থাপন করার n উপায় থাকবে। তারপর, আমরা পরবর্তী নির্বাচিত অনুভূমিক লাইনে চলে যাব যেখানে n-1 সম্ভাব্য স্থান নির্ধারণ করা হবে। এবং একইভাবে তৃতীয়টিকে n-2 এবং সামনে n-3 উপায়ে স্থাপন করা যেতে পারে। সুতরাং, মোট ওয়াট সংখ্যা হবে n C4*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<<"The number of way is which 4 items can be placed in the intersection of "<<n;
   cout<<" lines vertically and horizotally are "<<placeItems(n);
   return 0;
}

আউটপুট

The number of way is which 4 items can be placed in the intersection of 4 lines vertically and horizotally are 24

  1. আইটেমগুলিকে n^2 অবস্থানে রাখার উপায় যাতে কোনও সারি/কলামে C++-এ একের বেশি না থাকে

  2. C++ ব্যালেন্সড এক্সপ্রেশন যেমন প্রদত্ত পজিশনে ওপেনিং ব্র্যাকেট থাকে

  3. ক্ষুদ্রতম সংখ্যাটি নির্ণয় করুন যেমন X! C++-এ কমপক্ষে Y অনুগামী শূন্য রয়েছে

  4. প্রতিটি সারি থেকে এমন একটি সংখ্যা নির্বাচন করা যায় কিনা পরীক্ষা করুন যাতে সংখ্যার xor C++ এ শূন্যের চেয়ে বেশি হয়