乙個學校舉行拔河比賽,所有的人被分成了兩組,每個人必須(且只能夠)在其中的一組,要求兩個組的人數相差不能超過1,且兩個組內的所有人體重加起來盡可能地接近。
輸入資料的第1行是乙個n,表示參加拔河比賽的總人數,n<=100,接下來的n行表示第1到第n個人的體重,每個人的體重都是整數(1<=weight<=450)。
輸出資料應該包含兩個整數:分別是兩個組的所有人的體重和,用乙個空格隔開。注意如果這兩個數不相等,則請把小的放在前面輸出。
3100
90200
190 200
這道題占用的空間看似達到三維,但因為i只與i-1有關,所以在具體實現的時候,可以把第一維省略掉.另外在操作的時候,要注意控制j與k的範圍(0<=j<=i/20<=k<=j*450),否則有可能超時。
要乙個數來把總重量的和除於2,才能劃定中間範圍
#include
#include
using
namespace std;
int n,a[
1001
],t,s,f[
1001][
1001];
intmain()
t=s/2;
f[0][
0]=1
;for
(int i=
1;i<=n;i++)}
}for
(int i=0;
1;i++)if
(f[n/2]
[t-i])}
return0;
}
拔河比賽 DP
description 乙個學校舉行拔河比賽,所有的人被分成了兩組,每個人必須 且只能夠 在其中的一組,要求兩個組的人數相差不能超過1,且兩個組內的所有人體重加起來盡可能地接近。input 輸入資料的第1行是乙個n,表示參加拔河比賽的總人數,n 100,接下來的n行表示第1到第n個人的體重,每個人的...
DP 拔河比賽
乙個學校舉行拔河比賽,所有的人被分成了兩組,每個人必須 且只能夠 在其中的一組,要求兩個組的人數相差不能超過1,且兩個組內的所有人體重加起來盡可能地接近。input 輸入資料的第1行是乙個n,表示參加拔河比賽的總人數,n 100,接下來的n行表示第1到第n個人的體重,每個人的體重都是整數 1 wei...
code vs拔河比賽
時間限制 1 s 空間限制 128000 kb 題目等級 gold 題解 檢視執行結果 乙個學校舉行拔河比賽,所有的人被分成了兩組,每個人必須 且只能夠 在其中的一組,要求兩個組的人數相差不能超過1,且兩個組內的所有人體重加起來盡可能地接近。輸入描述 input description 資料的第1行...