首页 > 代码库 > poj 1837 Balance (0 1 背包)
poj 1837 Balance (0 1 背包)
Balance
Time Limit: 1000MS | Memory Limit: 30000K | |
Total Submissions: 10326 | Accepted: 6393 |
题意:给你n个挂钩g个砝码 以及n个挂钩的距离天平中心距离(负的代表左边正的代表右边)g个砝码的重量。
要求输出可以令天平平衡的方法种类
解题思路 http://user.qzone.qq.com/289065406/blog/1299341345 很详细
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int main() { int dp[25][15005]; int n,g,c[25],w[25],i,j; while(cin>>n>>g) { for(i=1;i<=n;i++) cin>>c[i]; for(i=1;i<=g;i++) cin>>w[i]; memset(dp,0,sizeof(dp)); dp[0][7500]=1; for(i=1;i<=g;i++) for(j=0;j<=15000;j++) if(dp[i-1][j]) { for(int k=1;k<=n;k++) dp[i][j+c[k]*w[i]]+=dp[i-1][j]; } cout<<dp[g][7500]<<endl; } return 0; }
poj 1837 Balance (0 1 背包)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。