本文主要是介绍蓝桥杯备战16.砝码称重,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
P2347 [NOIP1996 提高组] 砝码称重 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define int long long
const int N = 2e5+10;
int a[N],f[N];
int w[] = {0,1,2,3,5,10,20};
signed main()
{std::ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int n=0,sum=0;for(int i=1;i<=6;i++){int cnt;cin>>cnt;for(int j=1;j<=cnt;j++){a[++n]=w[i];sum+=w[i];}}f[0]=1;for(int i=1;i<=n;i++){for(int j=sum;j>=a[i];j--){f[j]=f[j-a[i]];}}int ans=0;for(int i=1;i<=sum;i++){ans+=f[i];}cout<<"Total="<ans;return 0;
}
这篇关于蓝桥杯备战16.砝码称重的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!