Push and Carry
题目描述
Takahashi 和 一个货物 在坐标平面上。
Takahashi 目前位于 (XA,YA),货物 位于 (XB,YB)。
他想把货物移动到 (XC,YC)。
当他位于 (x,y) 时,他可以在一次动作中做以下其中一种移动。
移动到 (x+1,y)。如果货物在移动前位于 (x+1,y),则把货物移动到 (x+2,y)。
移动到 (x−1,y)。如果货物在移动前位于 (x−1,y),则把货物移动到 (x−2,y)。
移动到 (x,y+1)。如果货物在移动前位于 (x,y+1),则把货物移动到 (x,y+2)。
移动到 (x,y−1)。如果货物在移动前位于 (x,y−1),则把货物移动到 (x,y−2)。
求将货物移动到 (XC,YC) 所需的最小动作数。
输入格式
输入由标准输入给出,格式如下:
XA YA XB YB XC YC
输出格式
输出将货物移动到 (XC,YC) 所需的最小动作数。
1 2 3 3 0 5
9
0 0 1 0 -1 0
6
-100000000000000000 -100000000000000000 100000000000000000 100000000000000000 -100000000000000000 -100000000000000000
800000000000000003
提示
−1017≤XA,YA,XB,YB,XC,YC≤1017
(XA,YA)=(XB,YB)
(XB,YB)=(XC,YC)
所有输入值均为整数。Takahashi 可以按如下方式在九次动作内把货物移动到 (0,5)。
移动到 (2,2)。
移动到 (3,2)。
移动到 (3,3)。货物移动到 (3,4)。
移动到 (3,4)。货物移动到 (3,5)。
移动到 (4,4)。
移动到 (4,5)。
移动到 (3,5)。货物移动到 (2,5)。
移动到 (2,5)。货物移动到 (1,5)。
移动到 (1,5)。货物移动到 (0,5)。
不可能在八次或更少动作内把货物移动到 (0,5),所以你应该输出 9.
标签: AtCoder|abc323F
来源
AtCoder|abc323F