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

โค้ด C++ หาความต่างต่ำสุดระหว่างระยะเวลาคอนเสิร์ต

สมมติว่าเรามีตัวเลขสามจำนวน a, b และ c นักร้องมีเพลง 1 นาที a เพลง 2 นาที b เพลง 3 นาที c ต้องการแจกเพลงทั้งหมดเข้า 2 คอนเสิร์ท ทุกเพลงต้องอยู่ในคอนเสิร์ทใดคอนเสิร์ทหนึ่ง ต้องการให้ความต่างสัมบูรณ์ของระยะเวลาสองคอนเสิร์ทน้อยที่สุด ระยะเวลาคอนเสิร์ทคือผลรวมระยะเวลาเพลงในคอนเสิร์ทนั้น หาความต่างน้อยที่สุด

เช่น ถ้าอินพุตคือ a = 2; b = 1; c = 3 เอาต์พุตจะเป็น 1 เพราะคอนเสิร์ทแรกใส่เพลง 1 นาที 2 เพลง 2 นาที 1 เพลง 3 นาที 1 รวม 7 คอนเสิร์ทที่สอง 2 เพลง 3 นาที รวม 6 ความต่าง 1

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

return (a + (1 ถ้า c คี่ มิฉะนั้น 0))

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

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

int solve(int a, int b, int c) {
    return (a + c & 1);
}

int main() {
    int a = 2;
    int b = 1;
    int c = 3;
    cout << solve(a, b, c) << endl;
}

อินพุต

2, 1, 3

เอาต์พุต

1