#3621. Knight Fork

0
    ID: 3621 传统题 2000ms 1024MiB 尝试: 1 已通过: 1 难度: 1 上传者: 标签>AtCoderabc239CGESP 2级枚举(单层循环)模拟

Knight Fork

Knight Fork

题目描述

在 xyxy 坐标平面上,是否存在一个格点使得它到两个格点 (x1,y1)(x_1, y_1) 和 (x2,y2)(x_2, y_2) 的距离均为 5\sqrt{5}?

输入格式

输入以标准输入给出,格式如下: x1x_1 y1y_1 x2x_2 y2y_2

输出格式

如果存在满足条件的格点,输出 YesYes;否则,输出 NoNo。

0 0 3 3
Yes
0 1 2 3
No
1000000000 1000000000 999999999 999999999
Yes

提示

−109≤x1≤109-10^9 \leq x_1 \leq 10^9 −109≤y1≤109-10^9 \leq y_1 \leq 10^9 −109≤x2≤109-10^9 \leq x_2 \leq 10^9 −109≤y2≤109-10^9 \leq y_2 \leq 10^9 (x1,y1)≠(x2,y2)(x_1, y_1) \neq (x_2, y_2) 输入中的所有值都是整数。在 xyxy 坐标平面上,横坐标和纵坐标均为整数的点称为格点。
两点 (a,b)(a, b) 和 (c,d)(c, d) 之间的距离定义为它们之间的欧几里得距离,(a−c)2+(b−d)2\sqrt{(a - c)^2 + (b-d)^2}。 下图展示了在 (0,0)(0, 0) 处有一个黑色圆点,和白色圆点表示那些到 (0,0)(0,0) 的距离为 5\sqrt{5} 的格点。(网格显示了 xx 或 yy 为整数的地方。) image点 (2,1)(2,1) 到点 (x1,y1)(x_1, y_1) 的距离为 (0−2)2+(0−1)2=5\sqrt{(0-2)^2 + (0-1)^2} = \sqrt{5}; 点 (2,1)(2,1) 到点 (x2,y2)(x_2, y_2) 的距离为 (3−2)2+(3−1)2=5\sqrt{(3-2)^2 + (3-1)^2} = \sqrt{5}; 点 (2,1)(2, 1) 是一个格点,

因此点 (2,1)(2, 1) 满足条件。故应输出 YesYes。
同样可以断言 (1,2)(1, 2) 也满足该条件。
没有格点满足该条件,因此应输出 NoNo。
点 (109+1,109−2)(10^9 + 1, 10^9 - 2) 和点 (109−2,109+1)(10^9 - 2, 10^9 + 1) 满足该条件。

标签: AtCoder|abc239C

来源

AtCoder|abc239C