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