NOIP2019模拟题一第一题象棋(chess)CA代码
1、题目
【题目描述】
小 A 有一个很大的棋盘,上面只有一个 “象” ,他想知道能不能从
起点 (x1,y1) 一步跳到终点 (x2,y2) 。
“象” 的走法是:在 (x, y) 的 “象” 可以跳到(x+2, y+2), (x−2, y+2),
(x+2,y−2),(x−2,y−2) 四个点。
【输入格式】
一行四个整数 x1,y1,x2,y2 表示起点和终点的坐标。
【输出格式】
一行一个字符串,如果可以从起点一步到达终点,输出 “Yes”,否则
输出 “No”。
【数据规模与约定】
对于前 40% 的数据,保证 x1≤x2,y1≤y2;
对于前 80% 的数据,保证 0≤x1,x2,y1,y2≤100;
对于 100% 的数据,保证 0≤x1,x2,y1,y2≤10 18 。
【样例输入】
2 3 4 5
【样例输出】
Yes
2、代码
#include<iostream>
#include<cstdio>
#include<string.h>
using namespace std;
long long x1,y1,x2,y2;
int main(void)
{
freopen("chess.in","r",stdin);
freopen("chess.out","w",stdout);
cin>>x1>>y1>>x2>>y2;
if(((x1+2==x2)&&(y1+2==y2))||((x1+2==x2)&&(y1-2==y2))||((x1-2==x2)&&(y1-2==y2))||((x1-2==x2)&&(y1+2==y2)))
{
cout<<"Yes"<<endl;
}
else
{
cout<<"No"<<endl;
}
fclose(stdin);
fclose(stdout);
return 0;
}