मान लीजिए कि हमारे पास दो निर्देशांक (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