#P105. [Sleeping Cup #4] Tangent Dancer

[Sleeping Cup #4] Tangent Dancer

负责人

注意

本题需要文件读写(tangent.in / tangent.out)。

题目背景

在你的帮助下,C 队成员终于找到了他们的问题——这个也有问题,那个也有问题。

主帅看了这个分析,大失所望,于是他约好 Sleeping Dolphin,去舞厅摸鱼了。

题目描述

Sleeping Cup's Jump 是一种特殊的舞蹈动作。为了完成这一舞蹈动作,舞者需要使用尽量少的移动次数在二维舞台上从 (x1,y1)(x_1,y_1) 移动到 (x2,y2)(x_2,y_2)

特殊的舞蹈动作自然拥有与众不同的移动方式——在一次移动中,舞者可以选择一个实数 dd 和一个角度 $\varphi \in \left(-\dfrac{\pi}{2},\dfrac{\pi}{2}\right)$,并从起始位置 (x,y)(x,y) 移动到目标位置 (x+dφ,y+dtanφ)(x+d\varphi,y+d\tan\varphi)

请求出舞者所需要的最小移动次数。

输入格式

一行四个整数 $x_1,y_1,x_2,y_2\ (-10^9 \le x_1,y_1,x_2,y_2 \le 10^9)$。

输出格式

一行一个非负整数,表示舞者所需要的最小移动次数。

样例

0 0 0 0
0
6 1 7 4
1
8 5 3 2
2

官方题解

link