解题思路:
需要多思考,多思考
参考代码:
//砝码称重--dp #include <bits/stdc++.h> using namespace std; int n,w[110]; int dp[110][100005]; int ans = 0; int main(){ cin>>n; int sum=0; for(int i=1;i<=n;++i){ cin>>w[i]; sum+=w[i]; } dp[0][0]=1; for(int i=1;i<=n;++i){ for(int j=0;j<=sum;++j){ dp[i][j] = max(dp[i-1][j],max(dp[i-1][j+w[i]],dp[i-1][abs(j-w[i])])); } } for(int i=1;i<=sum;++i){ if(dp[n][i]) ans++; } cout<<ans<<endl; return 0; }
0.0分
2 人评分
数列 (C++代码)浏览:664 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:664 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:560 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:624 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:751 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)浏览:2081 |
WU-蓝桥杯算法提高VIP-勾股数 (C++代码)浏览:1607 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:591 |
字符逆序 (C语言代码)浏览:617 |
快速排序算法1浏览:884 |