題目要求
相傳人族與獸族對峙了很久,雙方均受到了重創,獸族趁人類沒有能力發起大規模進攻之時突然襲擊,想一次徹底打敗人族。人類為了生存,無論老幼傷病,全部參戰,兵分兩路抗敵。
由於體質不同,我們以血量表示乙個人的戰鬥力,現在給你所有人的血量,請你把人類分成戰鬥力最接近的兩部分。注意,戰鬥力要最接近,不然,人族會因你而戰敗呦!
input
第一行為乙個整數n(1<=n<=36),表示人族的總人數。以下的n行每行乙個整數,表示乙個人的血量mi(即戰鬥力),其中1<=mi<=400.
output
只有一行,包含兩個數,即人族的每部分兵的血量總和,較小的乙個值放在前面,兩個數用空格分隔。
sample input
raw3
2032
35sample output
raw35 52
首先尋找理想的中值mid,再利用動態規劃中的揹包問題思路,讓揹包的承重量設定為mid的值,不斷尋找一邊的最大值max.
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
intmax
(int a,
int b)
intmain()
mid = sum /2;
for(
int i =
1; i <= sum; i++
)for
(int j = mid; j >=
0; j--)if
(j >= a[i]
) dp[j]
=max
(dp[j]
, dp[j - a[i]
]+ a[i]);
cout << dp[mid]
<<
" "<< sum - dp[mid]
<< endl;
return0;
}
魔獸爭霸系統
首先我們先編寫魔獸系統中的使用者資訊類 logininfo 用來存放屬性 封裝屬性 電子郵箱 private string email public string email set 身份證號碼 private string id public string id set 姓名 private st...
魔獸爭霸碰撞體積研討
最近做演算法才發現以前的一些誤區 也明白了為什麼有些實驗與理論不符 以前雖然知道單位是方塊,但當時以為碰撞體積 方塊邊長 其實不對應,而且應為1 2邊長 以為建築空一格是32 其實是64 射程相差100帶來多少陣型優勢問題 tr地圖 4點 5點之間用2個ac堵住路的問題 坦克為何有時能打到古樹圍住的...
OJ 1010 奔赴雲南
描述 第二屆全國中醫藥程式設計大賽在雲南中醫學院舉行,全國各中醫藥院校從全國各地奔赴雲南。每個人的車票或機票上都會有如下資訊 輸入多組資料 每組資料有乙個字串s和兩個整數time1,time2,分別表示地名,出發時間,到達時間。保證 到達時間 出發時間 輸出輸出旅途時間。格式見樣例。輸入樣例 1 h...