【动态规划 变形】Pick numbers:实际上还是背包
来源:互联网 发布:cnc编程兼职工资怎么算 编辑:程序博客网 时间:2024/06/06 10:44
Example:pick numbers (scicily 1158 http://soj.me/1158)
菜鸟:BFS
大牛:DP
大牛的代码:你用多长时间看懂了?
/***sicily 1158 pick numbers*M, N (2<=M<=10, 2<=N<=10),**/#include <iostream>using namespace std;#define Max 15#define Mid 200// 和的范围[-190,190]int main_(){int m,n,ans;int a[Max][Max];// matrixbool dp[Max][Max][Mid*2];// 第三维代表“到达一个位置所有的路径之和(-190到190之间)while(cin>>m>>n){memset(a, 0, sizeof(a));memset(dp, false, sizeof(dp));ans = -1;int i,j;for(i=1; i<=m; i++)for(j=1; j<=n; j++)cin >>a[i][j];dp[1][1][Mid + a[1][1]] = true;// 加上Mid 防止下标为负for(i=1; i<=m; i++)for(j=1; j<=n; j++)if(i!=1 || j!=1){for(int k=0; k<Mid*2; k++)// 遍历所有的路径和{if(dp[i-1][j][k])// 可以从上边到达dp[i][j][k+a[i][j]] = true;if(dp[i][j-1][k])// 从左边到达dp[i][j][k+a[i][j]] = true;}}for(int k=Mid+1; k<Mid*2; k++)// 最小的正值if(dp[m][n][k]){ans = k-Mid;break;}cout << ans << endl;}return 0;}
0 0
- 【动态规划 变形】Pick numbers:实际上还是背包
- 动态规划——背包问题变形
- 动态规划(完全背包的变形)
- Pick apples(动态规划,难点背包容量太大)
- UESTC Pick The Sticks (背包变形)
- HDU5543 Pick The Sticks [背包dp变形]
- 动态规划——背包问题变形 收藏
- POJ 1837:Balance:动态规划_背包问题变形
- hdu 1574 RP问题 动态规划,01背包的变形
- UVa12563_劲歌金曲(动态规划_01背包变形)
- 最大报销额(动态规划:01背包问题变形)
- HDU 1114 Piggy-Bank(完全背包动态规划+变形)
- HDU 5543 Pick The Sticks 背包变形 ccpc
- 【动态规划】Phone Numbers
- 动态规划--Humble Numbers
- 【动态规划】【01背包变形】HDOJ 2037 今年暑假不AC
- 蓝桥杯_算法提高_金明的预算方案(动态规划、01背包变形)
- 用动态规划算法的变形方法——备忘录方法,解决0-1背包问题
- 第一个IOS程序
- thinking in asp 之二 高端大气上档次
- Apache Hadoop 2.2.0 (2013年10月发布通告)
- 快速排序
- 1935 二叉树重建
- 【动态规划 变形】Pick numbers:实际上还是背包
- 高手速成android开源项目【View篇】
- Spring容器-Bean的生命周期
- 黑马程序员——装饰设计模式(io流)
- C++手记:常量引用
- 生产者和消费者多线程共享一个仓库(多竞争一)
- 开题第一次修改
- 黑马程序员------------------交通灯管理系统
- 在OpenCV中利用鼠标绘制直线