Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 525 点
問題文
座標平面上に高橋君と荷物があります。
高橋君は現在 (X_A,Y_A) におり、荷物は (X_B,Y_B) にあります。 高橋君は荷物を (X_C,Y_C) まで運びたいです。
高橋君は (x,y) にいるとき、1 回の行動で次のいずれかの動きをすることができます。
- (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) に移動させる。
荷物を (X_C,Y_C) に移動させるまでに必要な最小の行動回数を求めてください。
制約
- -10^{17}\leq X_A,Y_A,X_B,Y_B,X_C,Y_C\leq 10^{17}
- (X_A,Y_A)\neq (X_B,Y_B)
- (X_B,Y_B)\neq (X_C,Y_C)
- 入力はすべて整数
入力
入力は以下の形式で標準入力から与えられる。
X_A Y_A X_B Y_B X_C Y_C
出力
荷物を (X_C,Y_C) に移動させるまでに必要な最小の行動回数を出力せよ。
入力例 1
1 2 3 3 0 5
出力例 1
9
高橋君は次のように行動することで 9 回で荷物を (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) に移動する。
8 回以下で荷物を (0,5) に運ぶことができないので、9 を出力します。
入力例 2
0 0 1 0 -1 0
出力例 2
6
入力例 3
-100000000000000000 -100000000000000000 100000000000000000 100000000000000000 -100000000000000000 -100000000000000000
出力例 3
800000000000000003
Score : 525 points
Problem Statement
Takahashi and a cargo are on a coordinate plane.
Takahashi is currently at (X_A,Y_A), and the cargo is at (X_B,Y_B). He wants to move the cargo to (X_C,Y_C).
When he is at (x,y), he can make one of the following moves in a single action.
- Move to (x+1,y). If the cargo is at (x+1,y) before the move, move it to (x+2,y).
- Move to (x-1,y). If the cargo is at (x-1,y) before the move, move it to (x-2,y).
- Move to (x,y+1). If the cargo is at (x,y+1) before the move, move it to (x,y+2).
- Move to (x,y-1). If the cargo is at (x,y-1) before the move, move it to (x,y-2).
Find the minimum number of actions required to move the cargo to (X_C,Y_C).
Constraints
- -10^{17}\leq X_A,Y_A,X_B,Y_B,X_C,Y_C\leq 10^{17}
- (X_A,Y_A)\neq (X_B,Y_B)
- (X_B,Y_B)\neq (X_C,Y_C)
- All input values are integers.
Input
The input is given from Standard Input in the following format:
X_A Y_A X_B Y_B X_C Y_C
Output
Print the minimum number of actions required to move the cargo to (X_C,Y_C).
Sample Input 1
1 2 3 3 0 5
Sample Output 1
9
Takahashi can move the cargo to (0,5) in nine actions as follows.
- Move to (2,2).
- Move to (3,2).
- Move to (3,3). The cargo moves to (3,4).
- Move to (3,4). The cargo moves to (3,5).
- Move to (4,4).
- Move to (4,5).
- Move to (3,5). The cargo moves to (2,5).
- Move to (2,5). The cargo moves to (1,5).
- Move to (1,5). The cargo moves to (0,5).
It is impossible to move the cargo to (0,5) in eight or fewer actions, so you should print 9.
Sample Input 2
0 0 1 0 -1 0
Sample Output 2
6
Sample Input 3
-100000000000000000 -100000000000000000 100000000000000000 100000000000000000 -100000000000000000 -100000000000000000
Sample Output 3
800000000000000003