思路
找数值对应的坐标映射,然后计算距离
代码
#include <iostream>
using namespace std;
const int N = 10010;
int n,m,w;
int getx(int n)
{
return (n - 1) / w;
}
int gety(int n)
{
if(getx(n) % 2 == 0) return (n - 1) % w;
else return w - 1 - (n - 1) % w;
}
int main()
{
cin >> w >> m >> n;
int x1 = getx(m),x2 = getx(n),y1 = gety(m),y2 = gety(n);
//printf("%d %d %d %d\n",x1,y1,x2,y2);
cout << abs(x1 - x2) + abs(y1 - y2) << endl;
return 0;
}