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
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.
题意:
给你一个起点和一个终点,robot可以向自己所在起点的周围8个方向走,问你最短路?
题解:
答案就是max(abs(x2-x1),abs(y1-y2))
#include <cstdio> #include <cstring> #include <ctime> #include <algorithm> using namespace std; typedef long long ll; int x1,x2,y2,y1; int main() { scanf("%d%d%d%d",&x1,&y1,&x2,&y2); printf("%d ",max(abs(x2-x1),abs(y1-y2)) ); return 0; }