मान लीजिए कि हमारे पास एक निर्देशांक (x, y) है। 2डी ग्रिड पर, एक रोबोट (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