#4229. 瓷砖距离2(Tile Distance 2)

瓷砖距离2(Tile Distance 2)

题目描述

坐标平面被2×1的瓷砖覆盖。瓷砖按以下规则铺设:

  • 对于整数对(i,j)(i,j),正方形 $A_{i,j}={(x,y)|i\leq x\leq i+1 \wedge j\leq y\leq j+1}$ 被包含在一块瓷砖中。
  • 当 i+j 为偶数时,Ai,jA_{i,j}Ai+1,jA_{i+1,j} 被包含在同一块瓷砖中。

瓷砖包括它们的边界,并且没有两块不同的瓷砖有公共点。

原点附近,瓷砖排列如下图所示:

小高从点 (Sx+0.5,Sy+0.5)(S_x+0.5,S_y+0.5) 出发。他可以重复以下移动任意多次:

  • 选择一个方向(上、下、左、右)和一个正整数n。向该方向移动n个单位。

每次进入一块瓷砖,他需要支付1的过路费。请找出他到达点 (Tx+0.5,Ty+0.5)(T_x+0.5,T_y+0.5) 所需支付的最小过路费。

输入格式

输入格式如下:

SxS_x SyS_y

TxT_x TyT_y

输出格式

输出小高必须支付的最小过路费。

样例

5 0
2 5
5
3 1
4 1
0
2552608206527595 5411232866732612
771856005518028 7206210729152763
1794977862420151

样例解释

【样例1说明】
例如,小高可以通过以下移动支付5的过路费:

  • 向左移动1。支付0的过路费。
  • 向上移动1。支付1的过路费。
  • 向左移动1。支付0的过路费。
  • 向上移动3。支付3的过路费。
  • 向左移动1。支付0的过路费。
  • 向上移动1。支付1的过路费。

不可能将过路费减少到4或更少,所以输出5
【样例2说明】
有些情况下不需要支付任何过路费。
【样例3说明】
注意:输出值可能超出 32 位整数的范围。

数据范围

  • 0Sx,Sy,Tx,Ty2×10160 \leq S_x,S_y,T_x,T_y \leq 2 \times 10^{16}
  • 所有输入值都是整数。

来源

  • AtCoder ABC359C