東華OJ 基礎T121 分糖果

2021-10-22 07:03:57 字數 1310 閱讀 3171

121 分糖果

問題描述 :

肖恩和派屈克是兄弟,他們從他們的父母那裡得到了很多糖果。每一塊糖具有乙個正整數的價值,孩子們希望分他們得到的糖果。首先,肖恩將這些糖果分成兩堆,並選擇一堆給派屈克。然後,派屈克將嘗試計算每堆的價值,其中每堆的價值是那堆糖果價值的總和,如果他覺得沒有平等的價值,他將開始哭了起來。

不幸的是,派屈克太小了,所以不能正確的計算。他只會二進位制無進製的加法。比如說,他想算12(二進位制為1100)加5(二進位制為101),他會把最右邊的兩位加法算正確,但是第三位會忘記進製。(即0+0=0,0+1=1,1+0=1,1+1=0)

因此,派屈克算12加5的結果為9。下面幾個是派屈克算的結果:

5 + 4 = 1

7 + 9 = 14

50 + 10 = 56

肖恩數學很好,他想得到價值總和更高的糖果並且不讓他的弟弟哭。如果可能,他會分成兩個非空的糖果袋,讓派屈克認為,雙方都有相同的值的糖果。給你每一袋糖果每一塊糖果的價值,我們想知道是否可能讓派屈克相信他們得到糖果價值的總量是相同的。如果可能計算出肖恩能得到的最大的價值。

輸入說明 :

第一行輸入t(1每組測試資料佔一行,每行包含以下資料,n c1 c2 … cn(其中n(2 ≤ n ≤ 10)代表從父母那裡得到糖果的總數,c(1 ≤ ci ≤ 100)代表每塊糖果的價值)

輸出說明 :

若不能輸出no,若能則輸出肖恩得到的最大的價值。

輸入範例 :

2

5 1 2 4 5 8

3 3 5 6

輸出範例 :

no

11

#include

#include

using

namespace std;

intmain()

sort

(a,a+n)

;//從小到大排序

for(i=

0;i)//充要條件:若某兩堆的二進位制異或總和為0,則這兩堆在弟弟眼中是相等的

//如果最後可以分成相等的兩堆,說明結果一定為0

//既然總和為0,隨意挑選乙個,剩下的所有總和一定與它相等( 0-n=-n )

//利益最大化->剔除掉價值最小的糖果,剩下的就是利益最大的

if(tmp==0)

else cout<<

"no"

<}

東華OJ 基礎T126 數列2

126 數列2 問題描述 思維的嚴密性是相當重要的,尤其是在程式設計中,乙個小小的錯誤,就可能導致無法想象的後果。明明的爸爸是一名富有經驗的程式設計專家,深知思維嚴密的重要性,於是在明明很小的時候,就通過遊戲的方式,訓練明明的思維嚴密性。今天,明明的爸爸和明明做了乙個數列的遊戲。這個遊戲很簡單,就是...

東華OJ基礎 34繁殖問題

34 繁殖問題 問題描述 有一家生化所,一月份引入一對新生的小白鼠。這對小白鼠生長兩個月後,在第 三 第四 第五個月各繁殖一對新小白鼠,在第六個月停止繁殖,在第七個月則死亡。新生的小白鼠也如此繁殖。問在第n個月時,活的小白鼠有多少對?輸入說明 你的程式需要從標準輸入裝置 通常為鍵盤 中讀入多組測試資...

東華OJ 基礎 34繁殖問題

一 題目 問題描述 有一家生化所,一月份引入一對新生的小白鼠。這對小白鼠生長兩個月後,在第 三 第四 第五個月各繁殖一對新小白鼠,在第六個月停止繁殖,在第七個月則死亡。新生的小白鼠也如此繁殖。問在第n個月時,活的小白鼠有多少對?輸入說明 你的程式需要從標準輸入裝置 通常為鍵盤 中讀入多組測試資料。每...