#include
#include
using namespace std;
const int MAX=10005;//数组一开始定义为100,就RW。下面的sum是100*100
int main(void)
{
int n,i,wei[MAX],sum;
int c1[MAX],c2[MAX];
while(cin>>n)
{
memset(c1,0,sizeof(c1));
memset(c2,0,sizeof(c2));
sum=0;
for(i=1;i<=n;i++)
{
cin>>wei[i];
sum+=wei[i];
}
c1[0]=1,c1[wei[1]]=1;//第一个括号内的值
for(i=2;i<=n;i++)
{
for(int j=0;j<=sum;j++)
{
for(int k=0;k+j<=sum && k<=wei[i];k+=wei[i])//k
[i]是因为每个wei只能用一次>
相关文章: