Computer >> Máy Tính >  >> Lập trình >> C ++

Mã C ++ để đếm các bước để đạt được vị trí cuối cùng bằng robot

Giả sử chúng ta có hai tọa độ (x1, y1) và (x2, y2). Một robot đang ở điểm (x1, y1) và muốn đi đến điểm (x2, y2). Trong một bước duy nhất, rô bốt có thể di chuyển về phía một ô đến 8 tọa độ liền kề của nó. Chúng tôi phải tìm số bước tối thiểu cần thiết để đạt được vị trí cuối cùng.

Vì vậy, nếu đầu vào giống như x1 =3; y1 =4; x2 =6; y2 =1;, thì đầu ra sẽ là 3, bởi vì

Mã C ++ để đếm các bước để đạt được vị trí cuối cùng bằng robot

Các bước

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

return maximum of |x2 - x1| and |y2 - y1|

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

#include <bits/stdc++.h>
using namespace std;
int solve(int x1, int y1, int x2, int y2){
   return max(abs(x2 - x1), abs(y2 - y1));
}
int main(){
   int x1 = 3;
   int y1 = 4;
   int x2 = 6;
   int y2 = 1;
   cout << solve(x1, y1, x2, y2) << endl;
}

Đầu vào

3, 4, 6, 1

Đầu ra

3