设有1g、2g、3g、5g、10g、20g的砝码各若干枚(其总重<=1000),
输入输出格式
输入格式:
输入方式:a1 a2 a3 a4 a5 a6
(表示1g砝码有a1个,2g砝码有a2个,…,20g砝码有a6个)
输出格式:
输出方式:Total=N
(N表示用这些砝码能称出的不同重量的个数,但不包括一个砝码也不用的情况)
输入输出样例
输入样例#1:
1 1 0 0 0 0
输出样例#1:
Total=3
#include<cstdio>
int c[8],k,b[8];
bool a[1002];
int main()
{
for(int i=1;i<=6;i++)
scanf("%d",&b[i]);
for(c[1]=0; c[1]<=b[1]; c[1]++)
for(c[2]=0; c[2]<=b[2]; c[2]++)
for(c[3]=0; c[3]<=b[3]; c[3]++)
for(c[4]=0; c[4]<=b[4]; c[4]++)
for(c[5]=0; c[5]<=b[5]; c[5]++)
for(c[6]=0; c[6]<=b[6]; c[6]++)
if(c[1]==0&&c[2]==0&&c[3]==0&&c[4]==0&&c[5]==0&&c[6]==0);
else if(a[c[1]+c[2]*2+c[3]*3+c[4]*5+c[5]*10+c[6]*20]==0)
{
a[c[1]+c[2]*2+c[3]*3+c[4]*5+c[5]*10+c[6]*20]=1;
k++;
}
printf("Total=%d",k);
return 0;
}