题解分享
题解分享简介
移动距离(编程题) - 题解
```
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int w, n, m;
int main()
{
cin >> w >> m >> n;
m--, n--;
int x1, y1, x2, y2;
x1 = m/w, x2 = n/w;
if((m/w)%2!=0)
y1 = w - 1 - m%w;
else
y1 = m%w;
if((n/w)%2!=0)
y2 = w - 1 - n%w;
else
y2 = n%w;
cout << abs(x1 - x2) + abs(y1 - y2);
return 0;
}
```
查看全文
0
0
0
2
移动距离(编程题) - 题解
```
import math
w,m,n=map(int,input().split())
a=math.ceil(m/w)
b=math.ceil(n/w)
x=abs(a-b)
if a%2!=0:
x1=m%w
else:
x1 = w - (m % w) + 1
if b%2!=0:
x2 = n % w
else:
x2=w-(n%w)+1
print(x+abs(x1-x2))
```
查看全文
0
0
0
1
移动距离(编程题) - 题解
```
#include <bits/stdc++.h>
typedef long long LL;
using namespace std;
int n,w,m;
int main()
{
cin>>w>>m>>n;
m--,n--;
int x1=m/w,x2=n/w;
int y1=m%w,y2=n%w;
if(x2%2) y2=w-1-y2;
if(x1%2) y1=w-1-y1;
cout<<abs(x1-x2)+abs(y1-y2)<<endl;
return 0;
}
```
查看全文
0
0
0
1



