问题 C: 移动棋子(chess)

问题 C: 移动棋子(chess)

时间限制: 1 Sec  内存限制: 256 MB
提交: 181  解决: 45
[提交][状态][讨论版][命题人:]

题目描述

一维的棋盘上有无限多个格子,每个格子都有一个编号,最中间的格子编号为 0 ,0 号 格子向右依次编号为 1,2,3, . . . ,向左依次编号为 −1, − 2, − 3, . . . 。 小明的目标是要将一枚棋子从x号格子移动到y号格子。 每一次操作有两种选择: 

操作 1 :向右移动 1 个格子。

 操作 2 :从当前棋子所在的a号格子,直接跳到-a号格子(如:可以从 6 直接跳到 −6 , 也可以从 −6 直接跳到 6 )。 

可以证明,无论整数x和y的值是多少,目标总是可以实现的。 请你设计程序,帮小明计算把棋子从x号格子移动到y号格子需要的最少操作次数

输入

一行,两个整数x和y, 表示要将棋子从x号格子移动到y号格子

输出

一个整数,表示小明把棋子从x号格子移动到y号格子需要的最少操作次数

样例输入

样例1
10 20
样例2
10 -10
样例3
-10 -20

样例输出

样例1
10
样例2
1
样例3
12

提示


• 30% 的数据:|x|≤ 100, |y|≤ 100 。



• 100% 的数据:x,y都为整数;|x|≤ 10^9
, |y|≤ 10^9
; x,y 不相等。 



• 有 40% 的数据,|x|>|y| 。 



• 有 40% 的数据,|x|<|y|。 



• 有 20% 的数据,|x|=|y|

[提交][状态]