一开始没有什么想法,后来发现其实他们都可以看成是从0到abs(x2 - x1),每次步长是x,并且移动的奇偶是固定的,所以我们只需要判断一下两个数字移动的次数的奇偶是否相同即可。然后就wa了。
还有一个就是要判断是否可以用x的步长刚好到达abs(x2 - x1),如果无法到达也是直接输出NO。
代码如下:
#include<cstdio>
#include<algorithm>
using namespace std;
int main() {
#ifndef ONLINE_JUDGE
// freopen("in.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
#endif
int x1, x2, y1, y2, x, y;
scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
scanf("%d%d", &x, &y);
int a = abs(x2 - x1), b = abs(y2 - y1);
int c = (a / x) % 2, d = (b / y) % 2;
if(c != d || (a % x) || (b % y))
printf("NO\n");
else
printf("YES\n");
return 0;
}