Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

รหัส C++ นับก้าวไปถึงตำแหน่งสุดท้ายโดยโรบ็อต


สมมติว่าเรามีสองพิกัด (x1, y1) และ (x2, y2) หุ่นยนต์อยู่ที่จุด (x1, y1) และต้องการไปที่จุด (x2, y2) ในขั้นตอนเดียว หุ่นยนต์สามารถเคลื่อนที่ไปยังเซลล์หนึ่งไปยัง 8 พิกัดที่อยู่ติดกัน เราต้องหาจำนวนขั้นตอนขั้นต่ำที่จำเป็นในการไปถึงตำแหน่งสุดท้าย

ดังนั้น ถ้าอินพุตเป็น x1 =3; y1 =4; x2 =6; y2 =1; แล้วผลลัพธ์จะเป็น 3 เพราะ

รหัส C++ นับก้าวไปถึงตำแหน่งสุดท้ายโดยโรบ็อต

ขั้นตอน

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

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