#2954. 移动棋子(chess)

移动棋子(chess)

题目描述

一维的棋盘上有无限多个格子,每个格子都有一个编号,最中间的格子编号为0,0号格子向右依次编号为 1,2,3,..,向左依次编号为-1,-2,-3...。

小明的目标是要将一枚棋子从xx号格子移动到yy,每一次操作有两种选择:

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

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

可以证明,无论整数xxyy的值是多少,目标总是可以实现的。

请你设计程序,帮小明计算把棋子从xx号格子移动到yy号格子需要的最少操作次数。

输入格式

一行,两个整数xxyy,表示要将棋子从xx号格子移动到yy号格子。

输出格式

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

样例

10 20
10

样例解释

需要进行 10 次操作 1

10 -10
1

样例解释

需要进行 1 次操作 2

-10 -20
12

样例解释

先进行 1 次操作 2 , 然后进行 10 次操作 1 , 最后进行 1 次操作 2

数据范围

  • 30% 的数据: x100,y100|x| ≤ 100, |y| ≤ 100
  • 100% 的数据:x,y x ,y 都为整数;x109,y109x,y |x|≤ 10^9,|y| ≤ 10^9;x,y 不相等
  • 有 40% 的数据,x>y|x| > |y|
  • 有 40% 的数据,x<y |x|<|y|
  • 有 20% 的数据, x=y|x|=|y|

来源

2022 NOIP 山东(小学组)