두 개의 좌표(x1, y1)와 (x2, y2)가 있다고 가정합니다. 로봇이 (x1, y1) 지점에 있고 (x2, y2) 지점으로 가고 싶어합니다. 한 단계로 로봇은 한 셀을 향해 8개의 인접한 좌표로 이동할 수 있습니다. 최종 위치에 도달하는 데 필요한 최소한의 단계를 찾아야 합니다.
따라서 입력이 x1 =3과 같으면; y1 =4; x2 =6; y2 =1; 그러면 출력은 3이 됩니다.
단계
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
return maximum of |x2 - x1| and |y2 - y1|
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
#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; }
입력
3, 4, 6, 1
출력
3