HDU 1078 记忆化搜索

来源:互联网 发布:淘宝摄影市场暂停招商 编辑:程序博客网 时间:2024/05/22 00:37

记忆化搜索模板


#include "stdio.h"#include "string.h"int dir[4][2]={1,0,-1,0,0,1,0,-1};int dp[101][101],a[101][101];int n,k;int mx(int a,int b){if (a<b) return b;else return a;}int  dfs(int x,int y){int i,j,xx,yy,maxx;if (dp[x][y]) return dp[x][y];maxx=0;for (i=1;i<=k;i++)for (j=0;j<4;j++){xx=x+dir[j][0]*i;yy=y+dir[j][1]*i;if (xx<1 || xx>n || yy<1 || yy>n) continue;if (a[x][y]>=a[xx][yy]) continue;maxx=mx(maxx,dfs(xx,yy));}dp[x][y]=maxx+a[x][y];return  dp[x][y];}int main(){int i,j;while (scanf("%d%d",&n,&k)!=EOF){if (n==-1) break;for (i=1;i<=n;i++)for (j=1;j<=n;j++)scanf("%d",&a[i][j]);memset(dp,0,sizeof(dp));printf("%d\n",dfs(1,1));}return 0;}


0 0