Professor GukiZ makes a new robot. The robot are in the point with coordinates (x1, y1) and should go to the point (x2, y2). In a single step the robot can change any of its coordinates (maybe both of them) by one (decrease or increase). So the robot can move in one of the 8 directions. Find the minimal number of steps the robot should make to get the finish position.
The first line contains two integers x1, y1 ( - 109 ≤ x1, y1 ≤ 109) — the start position of the robot.
The second line contains two integers x2, y2 ( - 109 ≤ x2, y2 ≤ 109) — the finish position of the robot.
Print the only integer d — the minimal number of steps to get the finish position.
0 0
4 5
5
3 4
6 1
3
In the first example robot should increase both of its coordinates by one four times, so it will be in position (4, 4). After that robot should simply increase its y coordinate and get the finish position.
In the second example robot should simultaneously increase x coordinate and decrease y coordinate by one three times.
题意 初始位置(x1,y1) 目标位置(x2,y2)
可以行走8个方向 问最小步数
题解 max{abs(x1-x2),abs(y1-y2)}
#include<bits/stdc++.h> using namespace std; #define LL __int64 int main() { LL a ,b, c, d; LL x,y; scanf("%I64d%I64d%I64d%I64d",&a,&b,&c,&d); x=abs(a-c); y=abs(b-d); if(x>y) printf("%I64d ",x); else printf("%I64d ",y); return 0; }