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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP