1 条题解
信息
- ID
- 3355
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- (无)
- 递交数
- 38
- 已通过
- 18
- 上传者
首先特判一下,如果这两个点横坐标或者纵坐标相同的话,那么另外一个坐标之间的距离不小于 2 即可,因为中间必然会经过一个整数点。
其他情况的话,一开始想的是把这个线段平移,使得两个点为 (0,0) 和 (a,b),然后我们只需要判断这条线段之间是否有整数点即可。
假设这条直线为 y=kx,那么我们就需要一个点使得 x,y 同时为整数。设这个整数点为 (pa,pb),我们需要这两个分数都为整数。显然,因为 a,b 都是整数,当 p 是 a,b 的某个公因子时(1 除外),就可以满足条件。换句话来说,只要 a,b 有不为 1 的公因子,即 a,b 的最小公因子不为 1,就可以满足条件。
代码很简单,就不贴了(