因为不可以斜着走,所以我们可以使用曼哈顿距离求最短距离
#include<stdio.h>
#include<math.h>
int main(){
int w,m,n,xm,xn,ym,yn;
while(scanf("%d %d %d",&w,&m,&n)!=EOF){
xm=m/w;
xn=n/w;
if(m%w!=0){
xm++;
}
if(n%w!=0){
xn++;
}
if(xm%2==0){
//m属于偶数列行
if(m%w==0)
ym=1;
else
ym=w-m%w+1;
}
else{
if(m%w==0)
ym=w;
else
ym=m%w;
}
if(xn%2==0){
if(n%w==0)
yn=1;
else
yn=w-n%w+1;
}
else{
if(n%w==0)
yn=w;
else
yn=n%w;
}
printf("%d\n",abs(xm-xn)+abs(ym-yn));
}
}