冷静一下,很容易找到思路。
主要就是能不能追上的问题。
此题最难的就是理解题意。原来他的一轮是只一个人走一次,zz的我怎么没都推不出样例。
如果是奇数步肯定先走。 那就是追不上,1
能追上的话,看看要走的步数,如果是奇数,1
偶数,2
偶数步, 后走。
还是追。
步数为偶那就是-1;
如果能追不上 -1;
能追上, 1;
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
int T,n,x1,y1,x2,y2;
cin>>T;
while(T--){
cin>>n>>x1>>y1>>x2>>y2;
int st=n/2;
int sx=abs(x1-x2);
int sy=abs(y1-y2);
if(n&1){
if(sx+sy-1>=st+1) printf("1\n");
else {
if((sx+sy-1)%2==0)printf("2\n");
else printf("1\n");
}
}else{
if((sx+sy-1)%2==0) {printf("-1\n");continue;}
if(sx+sy-1>=st) printf("-1\n");
else printf("1\n");
}
}
return 0;
}