#P1530. 小X与机器人

小X与机器人

题目描述

小X的老师很喜欢围棋。众所周知,围棋的棋盘有 19191919 列,共有 361361 个交叉点。

为方便起见,我们把这些行列按顺序编号为 1191 \sim 19 ,并用 (x,y)(x, y) 表示第 xx 列第 yy 行的位置。例如下图中,AA(16,4)(16,4) 表示,BB(14,3)(14, 3) 表示。

小X在做一个机器人的项目,他正思考这样一个问题:如果一个小机器人从 (x1,y1)(x_1, y_1) 这个位置出发,沿直线移动到 (x2,y2)(x_2, y_2) 这个位置,它一共经过了多少个交叉点?

注意起点和终点也算作经过,因此至少经过了 22 个交叉点。

image

输入

输入数据仅有一行包含 44 个用空格隔开的正整数,分别表示 x1,y1,x2,y2x_1, y_1, x_2, y_2

输出

输出一行包含一个小于 2020 的正整数,表示从 (x1,y1)(x_1, y_1) 沿直线移动到 (x2,y2)(x_2, y_2) 经过的交叉点的个数。

样例

输入数据 1

4 4 4 16

输出数据 1

13

输入数据 2

1 1 19 19

输出数据 2

19

输入数据 3

1 1 7 5

输出数据 3

3

样例 33 解释

经过了 (1,1),(4,3),(7,5)(1, 1), (4, 3), (7, 5)33 个交叉点,你在图上画条直线就能一目了然看出来。

数据范围

对于 20%20\% 的数据,x1=x2x_1=x_2

对于另外 20%20\% 的数据,y1=y2y_1=y_2

对于另外 30%30\% 的数据,满足 abs(x1x2)=abs(y1y2)abs(x_1-x_2)=abs(y_1-y_2) ,它们是某个正方形的两个对角顶点。

对于 100%100\% 的数据,1x1,y1,x2,y2191 \le x_1, y_1, x_2, y_2 \le 19