HDOJ 2571 命运
2012-07-23 14:36
218 查看
动态规划加搜索,wrong了一次,我们知道每次移动的方向,进行搜索选取最大值即可,不需要另外的数组保存结果,加一个访问数组visit,原来访问已经得到最大值,只要访问过了就直接可以返回最大值。
代码:
代码:
#include<iostream> const int INF=-100000000; using namespace std; int map[22][1002]; bool visit[22][1002]; int n,m; int DFS(int i,int j) { if( visit[i][j]||i==n&&j==m) return map[i][j]; int mx=INF; if(i+1<=n) mx=max(mx,DFS(i+1,j)); if(j+1<=m) mx=max(mx,DFS(i,j+1)); for(int k=2; k*j<=m; k++) mx=max(mx,DFS(i,k*j)); map[i][j]+=mx; //用map保存结果即可。 visit[i][j]=true; return map[i][j]; } int main() { int c,i,j; scanf("%d",&c); while( c--){ scanf("%d%d",&n,&m); memset(map,0,sizeof(map)); memset(visit,0,sizeof(visit)); for( i=1; i<=n; i++) for( j=1; j<=m; j++) scanf("%d",&map[i][j]); printf("%d\n",DFS(1,1)); } return 0; }
相关文章推荐
- HDOJ 题目2571 命运(动态规划)
- hdoj problem 2571命运 (动态规划问题)
- 【HDOJ】2571 命运
- hdoj 2571 命运【dp】
- HDOJ 2571 命运 (基础dp)
- hdoj2571 命运
- HDOJ 2571 命运(动态规划)
- HDOJ2571 命运【dp】
- hdoj 2571 命运 【DP】【水】
- hdoj-2571-命运【动态规划】
- HDOJ 2571 命运 解题报告
- HDOJ-2571-命运 解题报告
- hdoj 2571 命运
- hdoj 2571 命运 (DP)
- HDOJ---2571 命运[DP]
- hdoj 2571 命运
- 【hdoj2571】命运(dp)
- HDOJ 2571 命运 DP算法
- HDOJ 2571 命运 (DP)
- HDU 2571 命运