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

รหัส C++ เพื่อค้นหาความแตกต่างขั้นต่ำระหว่างระยะเวลาคอนเสิร์ต


สมมติว่าเรามีตัวเลขสามตัว a, b และ c นักร้องมีเพลง 'a' หนึ่งนาที 'b' tow-minutessong และ 'c' เพลงสามนาที เขาต้องการแจกจ่ายเพลงทั้งหมดเป็นสองคอนเสิร์ต ดังนั้นทุกเพลงควรรวมอยู่ในคอนเสิร์ตเดียว เขาต้องการทำให้ความแตกต่างของระยะเวลาของคอนเสิร์ตน้อยที่สุดเท่าที่จะเป็นไปได้ ระยะเวลาของคอนเสิร์ตคือผลรวมของระยะเวลาของเพลงทั้งหมดในคอนเสิร์ตนั้น เราต้องหาความแตกต่างระหว่างระยะเวลาของคอนเสิร์ตให้น้อยที่สุด

ดังนั้นหากอินพุตเป็นเหมือน a =2; ข =1; c =3 จากนั้นผลลัพธ์จะเป็น 1 เพราะเขาสามารถรวมเพลงสองเพลงหนึ่งนาทีและเพลงสองนาทีหนึ่งเพลงและเพลงสามนาทีหนึ่งเพลงในคอนเสิร์ตครั้งแรกและเพลงสามนาทีสองเพลงในคอนเสิร์ตที่สอง ระยะเวลาคอนเสิร์ตครั้งแรกจะเป็น 1 + 1 + 2 + 3 =7 ระยะเวลาของคอนเสิร์ตที่สองจะเป็น 6 ความแตกต่างของพวกเขาคือ |7 − 6| =1.

ขั้นตอน

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

return (a + (1 if c is odd, otherwise 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