【poj 1837】Balance 题意&题解&代码(C++)
2016-03-30 07:51
260 查看
题目链接:
http://poj.org/problem?id=1837
题意:
http://blog.csdn.net/lyy289065406/article/details/6648094/
题解:
动态规划,dp[i][j]表示就把前i个物品全部挂上时使天平达到平衡度为j的状态有多少种方案,则dp[i][j+w[i]*c[k]]+=dp[i-1][j] ;
代码:
http://poj.org/problem?id=1837
题意:
http://blog.csdn.net/lyy289065406/article/details/6648094/
题解:
动态规划,dp[i][j]表示就把前i个物品全部挂上时使天平达到平衡度为j的状态有多少种方案,则dp[i][j+w[i]*c[k]]+=dp[i-1][j] ;
代码:
#include<iostream> #include<algorithm> #include<stdio.h> #include<string.h> using namespace std; int c,g,w[25],a[25],dp[21][15005]; int main() { scanf("%d%d",&c,&g); for (int i=1;i<=c;i++) scanf("%d",&w[i]); for (int i=1;i<=g;i++) scanf("%d",&a[i]); memset(dp,0,sizeof(dp)); dp[0][7500]=1; for (int i=1;i<=g;i++) for (int j=0;j<=15000;j++) { if (dp[i-1][j]) for (int k=1;k<=c;k++) dp[i][j+a[i]*w[k]]+=dp[i-1][j]; } printf("%d\n",dp[g][7500]); }
相关文章推荐
- 《C++》15 C++ 命名空间
- 《C++》14 C++ 类数据抽象
- 《C++》13 C++ 多态
- 堆和栈的区别(转载)
- ISBN号码
- 实验:C++实验2-【项目1】标准体重
- C++:由输出推断继承关系
- c++引用深入分析
- 将数组a中的n个整数按相反顺序存放
- 如何产生一个不重复的随机数
- 【C/C++】计算两个整数的最大公约数和最小公倍数
- Effective C++: 模板类型推断.
- Effective C++: auto类型推断.
- C++浓缩(五)
- C++字符串
- gdal vc++ 配置说明
- 2015年蓝桥杯C组C/C++题目:格子中输出
- 20160228.CCPP体系详解(0038天)
- 2015年蓝桥杯C组第二题:立方尾不变
- 设计模式--门面模式C++实现