P9204 题解
Night_sea_64 · · 题解
因为它两格为一个周期,所以我们两步两步地看。
枚举两步每步往哪里走,发现它其实每两步就是向上、下、左、右走两格。
如果在国际象棋的棋盘上,起点在黑格。那么如果按照要求移动一定不会跑到白格上去。而黑白格是通过行列和的奇偶性判断的。所以如果起点和终点行列和的奇偶性不同,输出
然后,如果起点与终点
否则,那么我们可以先走到
#include<iostream>
#include<cmath>
#define int long long
using namespace std;
signed main()
{
int a,b,c,d;
cin>>a>>b>>c>>d;
if((a+b)%2!=(c+d)%2)cout<<-1<<endl;
else if((int)(abs(a-c))%2==0)cout<<abs(a-c)+abs(b-d)<<endl;
else cout<<min(abs(a-(c+1))+abs(b-(d+1))+1,abs(a-(c-1))+abs(b-(d-1))+1)<<endl;
return 0;
}