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

โปรแกรม C++ หาจุดจากสองช่วงที่ไม่ตรงกัน


คำอธิบายปัญหา

สมมติว่าเรามีช่วง 2 ช่วง (l1, r1), (l2, r2) แทนเส้น 2 เส้นบนแกน x โดย l1 < r1 และ l2 < r2 เส้นเหล่านี้อาจทับซ้อน ทับกัน หรือตรงกัน ต้องการหาตัวเลข a และ b ที่ a อยู่ในช่วง (l1, r1) และ b อยู่ใน (l2, r2) และ a และ b ต่างกัน

ตัวอย่าง: l1 = 2; r1 = 6; l2 = 3; r2 = 4 ผลลัพธ์คือ a = 3, b = 4 (คำตอบอื่นก็ได้)

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

ถ้า l1 เท่ากับ l2: เพิ่ม l1 ขึ้น 1
คืนค่า l1 และ l2

ตัวอย่างโค้ด C++

#include <bits/stdc++.h>
using namespace std;

void solve(int l1, int r1, int l2, int r2) {
    if (l1 == l2) l1++;
    cout << l1 << ", " << l2;
}

int main() {
    int l1 = 2;
    int r1 = 6;
    int l2 = 3;
    int r2 = 4;
    solve(l1, r1, l2, r2);
}

อินพุต

2, 6, 3, 4

เอาต์พุต

2, 3