P2347 砝码称重
设有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; }