首页 > 代码库 > P2347 砝码称重

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;}

  

P2347 砝码称重