hdu-1712 分组背包问题
2013-11-02 22:34
274 查看
#include "stdio.h" #include "string.h" int A[105][105]; int dp[105]; int main() { int n,m,i,j,k; while( scanf("%d%d",&n,&m)==2 && ( n || m )) { for( i=1;i<=n;i++ ) { for( j=1;j<=m;j++ ) scanf("%d",&A[i][j]); } memset(dp,0,sizeof(dp)); for( i=1;i<=n;i++ ) //2.再从每组中的最优解选出最优解 { for( j=m;j>=0;j-- ) //1.先在第i组中01背包选出最优解 { for( k=1;k<=j;k++ ) if( dp[j] < dp[j-k]+A[i][k] ) dp[j] = dp[j-k]+A[i][k]; } } printf("%d\n",dp[m]); } return 0; }
相关文章推荐
- 线程内核对象对比
- LEX规则
- em px 简单换算
- HTML中 scrollTop++ 不能够实现div向上滚动的原因
- 继承、多态、重载、重写的文字版小总结
- 四款经典html5版网页游戏 在线体验
- 程序员编程艺术:第六章、求解500万以内的亲和数
- 最短路
- hdu-2151 二维背包
- Android 中使用Camera照相
- <I2C小结>
- [翻译Joel On Software]Joel测试:12步写出更高质量代码/The Joel Test: 12 Steps to Better Code
- 关于推荐系统的一些小结
- linux下使用select实现精确定时器
- java 封装特性
- 匿名对象
- 转载——开阔自己的视野,勇敢的接触新知识
- java 面向对象基础
- Arduino版的SONAR & RADAR
- hdu-2639 01背包 第K优决策