螺旋折线
题目描述
如图所示的螺旋折线经过平面上所有整点恰好一次。
对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。
例如dis(0, 1)=3, dis(-2, -1)=9
给出整点坐标(X, Y),你能计算出dis(X, Y)吗?
输入
X和Y
输出
输出dis(X, Y)
样例输入
0 1
样例输出
3
问题分析
这是一道数论题,一开始看这道题就蒙了,不知道该怎么求解。
本题主要就是按照数学的思维,找规律,找特殊点
仔细观察,或者可以枚举每个点的距离
可以绘制一条斜率为1的直线,那么可以看出紫色圈出的顶点的值和蓝色框出的距离之间的关系 4 k 2 4k^2 4k2
那么根据斜线的划分就可以看出,结果会分成两部分来表示
- 第一种是顶点在斜线上方
- 第二种是顶点在斜线下方
斜线上方的距离可以表示成该点X所在层数 k k k的右上方顶点A所在距离 4 k 2 4k^2 4k2 减去X与A之间的曼哈顿距离
曼哈顿距离就是两个点之间的x轴之间的距离和y轴之间的距离之和,即|x1 - x2| + |y1 - y2|
可以用方程表示
{ k =