HDU 1078 FatMouse and Cheese (记忆化搜索+dp)
Posted blues
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 1078 FatMouse and Cheese (记忆化搜索+dp)相关的知识,希望对你有一定的参考价值。
详见代码
1 #include <iostream> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <memory.h> 5 using namespace std; 6 const int inf=0x3f3f3f3f; 7 int a[110][110]; 8 int dp[110][110];//表示到i,j的最大路径和 9 int dir[4][2]= {1,0,-1,0,0,1,0,-1}; 10 int n,m; 11 int dfs(int x,int y) 12 { 13 int ans=0; 14 if(!dp[x][y]) 15 { 16 for(int i=1; i<=m; i++) 17 { 18 for(int j=0; j<4; j++) 19 { 20 int xx=x+dir[j][0]*i; 21 int yy=y+dir[j][1]*i; 22 if(xx<1||xx>n||yy<1||yy>n) 23 { 24 continue; 25 } 26 if(a[xx][yy]>a[x][y]) 27 { 28 ans=max(ans,dfs(xx,yy)); 29 } 30 } 31 } 32 dp[x][y]=ans+a[x][y]; 33 } 34 return dp[x][y]; 35 } 36 int main() 37 { 38 // int n,m; 39 while(~scanf("%d%d",&n,&m),n>0&&m>0) 40 { 41 for(int i=1; i<=n; i++) 42 { 43 for(int j=1; j<=n; j++) 44 { 45 scanf("%d",&a[i][j]); 46 } 47 } 48 memset(dp,0,sizeof(dp)); 49 printf("%d\n",dfs(1,1)); 50 } 51 return 0; 52 }
以上是关于HDU 1078 FatMouse and Cheese (记忆化搜索+dp)的主要内容,如果未能解决你的问题,请参考以下文章
HDU-1078-FatMouse and Cheese(记忆化搜索)
HDU1078 FatMouse and Cheese —— 记忆化搜索