P2347 砝码称重
Posted xcfxcf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P2347 砝码称重相关的知识,希望对你有一定的参考价值。
三层循环,第一层,6个物品,第二层,每个物品的个数,第三层,质量范围
#include <bits/stdc++.h> using namespace std; #define int long long const int maxn = 1e3 + 10; int dp[maxn]; int w[7] = {0,1,2,3,5,10,20}; int a[7]; int ans; signed main(){ // freopen("in","r",stdin); ios::sync_with_stdio(0); for(int i = 1; i <= 6; i++) cin >> a[i]; dp[0] = 1; for(int i = 1; i <= 6; i++){ for(int j = 1; j <= a[i];j++){ for(int k = 1000; k >= 0; k--){ if(dp[k]){ dp[k + w[i]] = 1; } } } } for(int i = 1; i <= 1000; i++){ if(dp[i]) ans++; } cout << "Total=" << ans << endl; return 0; }
以上是关于P2347 砝码称重的主要内容,如果未能解决你的问题,请参考以下文章