#44533: C++詳解


toseanlin@gmail.com (Dr. SeanXD)

學校 : 康橋雙語學校
編號 : 158065
來源 : [50.205.228.2]
最後登入時間 :
2025-04-05 02:06:13
e559. 10664 - Luggage -- UVA | From: [24.147.249.5] | 發表日期 : 2024-12-15 13:44

使用字串收資料,將其切成整數陣列,並且將所有行李的重量加起來,如果所有重量的和為奇數則直接輸出「NO」。反之,計算重量的一半,這個是我們要求的數字,因為只要可以求到一個另外一邊一定也能求到相同的數字。

宣告一個 Map 來存哪些數字或是數字和出現過,將陣列中的數字一一跑過,裡面在跑一個迴圈從一半跑到目前的數字,是 –。如果 Map[目前數字 – 陣列數字] > 0,則將 Map[目前數字]++。最後也要將 Map[陣列數字]++。

如果 Map[一半] > 0,就代表可以平分,反之就是不行。

 

範例程式碼

 
ZeroJudge Forum