ধরুন আমাদের দুটি স্থানাঙ্ক (x1, y1) এবং (x2, y2) আছে। একটি রোবট বিন্দুতে (x1, y1) এবং বিন্দুতে যেতে চায় (x2, y2)। একক ধাপে, রোবটটি তার 8টি সংলগ্ন স্থানাঙ্কের একটি কক্ষের দিকে যেতে পারে। আমাদের চূড়ান্ত অবস্থানে পৌঁছানোর জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক ধাপ খুঁজে বের করতে হবে।
সুতরাং, ইনপুট যদি x1 =3 এর মত হয়; y1 =4; x2 =6; y2 =1;, তাহলে আউটপুট হবে 3, কারণ
পদক্ষেপ
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
return maximum of |x2 - x1| and |y2 - y1|
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
#include <bits/stdc++.h> using namespace std; int solve(int x1, int y1, int x2, int y2){ return max(abs(x2 - x1), abs(y2 - y1)); } int main(){ int x1 = 3; int y1 = 4; int x2 = 6; int y2 = 1; cout << solve(x1, y1, x2, y2) << endl; }
ইনপুট
3, 4, 6, 1
আউটপুট
3