P2347 砝码称重
Posted crazily
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P2347 砝码称重相关的知识,希望对你有一定的参考价值。
题目描述
设有1g1g、2g2g、3g3g、5g5g、10g10g、20g20g的砝码各若干枚(其总重\le 1000≤1000),
输入输出格式
输入格式:
输入方式:a_1 , a_2 ,a_3 , a_4 , a_5 ,a_6a1?,a2?,a3?,a4?,a5?,a6?
(表示1g1g砝码有a_1a1?个,2g2g砝码有a_2a2?个,…,20g20g砝码有a_6a6?个)
输出格式:
输出方式:Total=NTotal=N
(NN表示用这些砝码能称出的不同重量的个数,但不包括一个砝码也不用的情况)
输入输出样例
输入样例#1: 复制
1 1 0 0 0 0
输出样例#1: 复制
Total=3
#include<bits/stdc++.h> using namespace std; bool f[1001]; int c[7],w[7]=0,1,2,3,5,10,20; int main() for(int i=1;i<=6;i++) scanf("%d",&c[i]); memset(f,0,sizeof(f)); f[0]=1; for(int i=1;i<=6;i++) for(int j=1;j<=c[i];j++) for(int k=1000;k>=0;k--) if(f[k]&&k+w[i]<=1000) f[k+w[i]]=1; int ans=0; for(int i=1;i<=1000;i++) if(f[i]) ans++; printf("Total=%d",ans);
以上是关于P2347 砝码称重的主要内容,如果未能解决你的问题,请参考以下文章