本文主要是介绍洛谷p2347砝码称重,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背包思想
多种物品,每种物品有多个
题目链接
ACcode
#include<bits/stdc++.h>using namespace std;int a[8] = { 0,1,2,3,5,10,20 };
int b[8];
int dp[1001];int main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);for (int i = 1;i <= 6;i++)cin >> b[i];dp[0] = 1;for (int i = 1;i <= 6;i++) {for (int k = 1;k <= b[i];k++) {for (int j = 1000;j >= 0;j--) {if (dp[j] && j + a[i] <= 1000) {//判断组成重量是否合法dp[j + a[i]] = 1;}}}}int ans = 0;for (int i = 1;i <= 1000;i++) {if (dp[i])ans++;}cout << "Total=" << ans;return 0;
}
这篇关于洛谷p2347砝码称重的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!