কম্পিউটার

শুরু থেকে শেষ পর্যন্ত যাওয়ার জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক ধাপ খুঁজে পেতে C++ প্রোগ্রাম


ধরুন আমাদের একটি স্থানাঙ্ক (x, y) আছে। একটি 2D গ্রিডে, একটি রোবট (0, 0) অবস্থানে রয়েছে এবং পৌঁছাতে চায় (x, y)। এটি উপরে, নীচে, বাম বা ডানে যেতে পারে বা বর্তমান ঘরে থাকতে পারে। এটি সম্ভাব্য কমান্ডের সাথে সর্বনিম্ন গন্তব্যে পৌঁছাতে চায়। আমাদের প্রয়োজনীয় পদক্ষেপের সংখ্যা গণনা করতে হবে।

সুতরাং, ইনপুট যদি x =3 এর মত হয়; y =4, তাহলে আউটপুট হবে 7

পদক্ষেপ

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

return x + y + minimum of |x - y|, |x - y + 1|, and |x - y - 1|

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <bits/stdc++.h>
using namespace std;

int solve(int x, int y) {
   return x + y + min(abs(x - y), min(abs(x - y + 1), abs(x - y - 1)));
}
int main() {
   int x = 3;
   int y = 4;
   cout << solve(x, y) << endl;
}

ইনপুট

3, 4

আউটপুট

7

  1. C++ এ প্রতিপক্ষকে ধরার জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক ধাপ খুঁজে বের করার প্রোগ্রাম

  2. C++ এ N থেকে M-এ পৌঁছানোর ন্যূনতম সংখ্যক ধাপ খুঁজুন

  3. C++ এ একটি ম্যাট্রিক্সের শেষে পৌঁছানোর জন্য প্রয়োজনীয় ন্যূনতম পদক্ষেপগুলি খুঁজুন

  4. C++ এ N পর্যন্ত লগ গণনা করার জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক লগ মান খুঁজুন