কম্পিউটার

সর্বাধিক বিশপ যা C++ এ N*N চেসবোর্ডে স্থাপন করা যেতে পারে


আমাদের একটি ইনপুট N দেওয়া হয়েছে যা দাবাবোর্ডের আকার নির্দেশ করে। এখানে কাজটি হল N-এর কোন মান খুঁজে বের করা, NXN চেসবোর্ডে কতগুলি বিশপ স্থাপন করা যেতে পারে যাতে কোনও দুই বিশপ একে অপরকে আক্রমণ করতে না পারে। উদাহরণ দিয়ে বোঝা যাক।

সর্বাধিক বিশপ যা C++ এ N*N চেসবোর্ডে স্থাপন করা যেতে পারে

ইনপুট − N=2

আউটপুট − সর্বাধিক বিশপ যা N*N চেসবোর্ডে স্থাপন করা যেতে পারে − 2 (উপরে দেখানো হয়েছে)

ব্যাখ্যা − যেমন উপরে চিত্রিত করা হয়েছে শুধুমাত্র অ-বিরোধী অবস্থানগুলি যেখানে বিশপদের স্থাপন করা হয়েছে। 2X2 চেসবোর্ডের জন্য সর্বাধিক বিশপ।

ইনপুট − N=5

আউটপুট − সর্বাধিক বিশপ যা N*N চেসবোর্ডে স্থাপন করা যেতে পারে:8 (উপরে দেখানো হয়েছে)

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • আমরা দাবাবোর্ডের মাত্রার জন্য ইনপুট হিসাবে একটি পূর্ণসংখ্যার মান N নিই।

  • টোটালবিশপস(int n) কে যুক্তি হিসাবে এই এনটি পাস করুন।

  • N<1 অবৈধ ইনপুটের জন্য, বিশপ গণনা=0।

  • N=1 এর জন্য, শুধুমাত্র 1 পজিশন, বিশপ কাউন্ট=1।

  • অন্য বিশপ হবেন 2*(N-1)

  • এই ফলাফলটি পরিবর্তনশীল বিশপে সংরক্ষণ করুন।

  • ফলাফল ফেরত দিন।

উদাহরণ

#include <iostream>
//to return maximum bishops possible
int totalBishops(int n){
   int bishops=0;
   if (n < 1)
      bishops= 0;
   else if (n == 1)
      bishops= 1;
   else
      bishops= 2 * (n - 1);
   return bishops;
}
int main(){
   int N = 15; //for chessboard dimensions N*N
   printf("%d" ,totalBishops(N));
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
28

  1. সর্বাধিক সংখ্যা যা C++ এ N সেগমেন্ট ব্যবহার করে সেভেন সেগমেন্ট ডিসপ্লেতে প্রদর্শিত হতে পারে

  2. সর্বাধিক পার্থক্য উপাদান যা C++ এ একটি সেটে যোগ করতে পারে

  3. সর্বাধিক উপাদান যা C++ এ k আপডেটের সাথে সমান করা যেতে পারে

  4. C++ এ সমকোণ সমদ্বিবাহু ত্রিভুজে ফিট হতে পারে এমন সর্বাধিক সংখ্যক বর্গক্ষেত্র