查詢演唱會時長最小差值的C++程式碼
假設我們有三個數字a、b和c。一位歌手有'a'首一分鐘的歌曲,'b'首兩分鐘的歌曲和'c'首三分鐘的歌曲。他想要將所有歌曲分成兩場演唱會,每首歌曲都必須包含在恰好一場演唱會中。他想要使兩場演唱會時長的絕對差值儘可能小。演唱會時長是所有歌曲時長的總和。我們必須找到演唱會時長之間可能的最小差值。
因此,如果輸入像a = 2;b = 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
廣告