CF817A Treasure Hunt

思路:

起点(x1, y1),终点(x2, y2),步长(dx, -dy),(dx, dy),(-dx, -dy),(-dx, dy)。只要满足abs(x1 - x2) % dx == 0 并且 abs(y1 - y2) % dy == 0 并且 abs(x1 - x2) / dx 和abs(y1 - y2) / dy奇偶性相同即可。

实现:

 1 #include <iostream>
 2 #include <cstdio>
 3 using namespace std;
 4 
 5 int main()
 6 {
 7         int x1, y1, x2, y2, dx, dy;
 8         cin >> x1 >> y1 >> x2 >> y2 >> dx >> dy;
 9         int m = abs(x1 - x2), n = abs(y1 - y2);
10         if (m % dx || n % dy) puts("NO");
11         else if ((m / dx & 1) != (n / dy & 1)) puts("NO");
12         else puts("YES");
13         return 0;
14 }
原文地址:https://www.cnblogs.com/wangyiming/p/7077392.html