题目描述: |
小X的老师很喜欢围棋。众所周知,围棋的棋盘有19行19列,共有361个交叉点。为方便起见,我们把这些行列按顺序编号为1~19,并用(x, y)表示第x列第y行的位置。例如下图中,A用(16,4)表示,B用(14, 3)表示。
小X在做一个机器人的项目,他正思考这样一个问题:如果一个小机器人从(x1, y1)这个位置出发,沿直线移动到(x2, y2)这个位置,它一共经过了多少个交叉点? 注意起点和终点也算作经过,因此至少经过了2个交叉点。 |
输入: | 输入数据仅有一行包含4个用空格隔开的正整数,分别表示x1, y1, x2, y2 |
输出: | 输出一行包含一个小于20的正整数,表示从(x1, y1)沿直线移动到(x2, y2)经过的交叉点的个数。 |
样例输入: | 4 4 4 16 |
样例输出: | 13 |
提示: | 样例输入 样例1: 4 4 4 16 样例2: 1 1 19 19 样例3: 1 1 7 5 样例输出 样例1: 13 样例2: 19 样例3: 3 样例解释3 经过了(1, 1), (4, 3), (7, 5)共3个交叉点,你在图上画条直线就能一目了然看出来。 数据范围 对于20%的数据,x1=x2 对于另外20%的数据,y1=y2 对于另外30%的数据,满足abs(x1-x2)=abs(y1-y2),它们是某个正方形的两个对角顶点 对于100%的数据,1<=x1, y1, x2, y2<=19 来源 常州市2017“信息与未来”夏令营选拔赛 |
来源: | 市赛 |
解答: | 市赛 |