C++程式:查詢從起點到終點所需的最少步數
假設我們有一個座標(x, y)。在一個二維網格上,機器人位於(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
廣告