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

โค้ด C++ นับขั้นตอนหุ่นยนต์ไปถึงเป้าหมาย

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

เช่น ถ้าอินพุตคือ x1 = 3; y1 = 4; x2 = 6; y2 = 1 เอาต์พุตจะเป็น 3

ขั้นตอนการแก้ปัญหา

return max(|x2 - x1|, |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