一、题目链接
二、题目分析
(一)算法标签
模拟
(二)解题思路
三、AC代码
解法一:
#include <iostream>
using namespace std;
#define x first
#define y second
int w, m, n;
pair<int, int> get_x_y(int n)
{
pair<int, int> p;
p.x = n / w;
if ((n / w) % 2 == 0)
p.y = n % w;
else
p.y = w - 1 - n % w;
return p;
}
int main()
{
cin >> w >> m >> n;
m -- , n -- ;
pair<int, int> a = get_x_y(m), b = get_x_y(n);
cout << abs(a.x - b.x) + abs(a.y - b.y) << endl;
return 0;
}
本文详细介绍了AcWing1219题目的解题思路与AC代码。该题属于模拟算法问题,主要涉及二维平面上两点间曼哈顿距离的计算。通过输入矩阵的维度和两个坐标,计算它们之间的最小移动步数。提供的C++代码实现了这一功能,并成功得到了正确答案。


323

被折叠的 条评论
为什么被折叠?



