কম্পিউটার টিউটোরিয়াল

সি++-এ n^2 পজিশনে আইটেম রাখার পদ্ধতি যাতে কোনো সারি/কলামে একটির অধিক না থাকে


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

যাতে কোনো সারি এবং কলামে একটির অধিক আইটেম থাকে না।

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

ইনপুট

n=4

আউটপুট

24

ব্যাখ্যা

সি++-এ n^2 পজিশনে আইটেম রাখার পদ্ধতি যাতে কোনো সারি/কলামে একটির অধিক না থাকে

এই সমস্যাটি সমাধান করতে, আমাদের 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

  1. সি++-এ n^2 পজিশনে আইটেম রাখার পদ্ধতি যাতে কোনো সারি/কলামে একটির অধিক না থাকে

  2. সি++ প্রোগ্রাম: দেওয়া পজিশনে ওপেনিং ব্র্যাকেট সহ সমতুল্য অভিব্যক্তি

  3. সি++ প্রোগ্রাম: X!-তে কমপক্ষে Yটি ট্রেইলিং জিরো থাকা সর্বনিম্ন X নির্ণয়

  4. C++-এ প্রতিটি সারি থেকে একটি সংখ্যা নির্বাচন করে XOR শূন্য থেকে বড় হয় কিনা চেক করা