错误代码
想了一个假算法,WA了
#include<cstdio>
#include<algorithm>
using namespace std;
int n,m;
bool check(int x,int y){
if (x==1&&y==1)return true;
if (x==n&&y==m) return true;
if (x==1&&y==m) return true;
if (x==n&&y==1) return true;
return false;
}
int main(){
scanf("%d%d",&n,&m);
int x1,y1,x2,y2;
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
if ((x1==x2)&&(abs(y1-y2)==1)||(y1==y2)&&(abs(x2-x1)==1))
printf("Lose");
else if (check(x1,y1)&&abs(x2-x1)==1&&abs(y2-y1)==1)
printf("Win");
else printf("Tie");
return 0;
}
正解
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
int n,m;
scanf("%d%d",&n,&m);
int x1,y1,x2,y2;
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
if (abs(x1+y1-x2-y2)%2==0)
printf("Win\n");
else printf("Lose\n");
return 0;
}