本文主要是介绍蓝桥杯刷题-包子凑数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1226. 包子凑数 - AcWing题库
#include <bits/stdc++.h>using namespace std;const int N = 110;
int n , d = 0;
int a[N];
bool dp[N][10005];int gcd(int a,int b)
{return b ? gcd(b , a % b) : a;
}int main()
{cin >> n;for(int i = 1 ;i <= n;i ++){cin >> a[i];d = gcd(d , a[i]);}memset(dp , 0 , sizeof dp);dp[0][0] = true;if(d != 1) cout << "INF";else{for(int i = 1;i <= n;i ++){for(int j = 0;j <= 10000;j ++){dp[i][j] = dp[i - 1][j] || (j >= a[i] ? dp[i][j - a[i]] : false);}}int ans = 0;for(int j = 0;j <= 10000 ; j ++)if(!dp[n][j]) ans ++;cout << ans;}return 0;
}
这篇关于蓝桥杯刷题-包子凑数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!