博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj1088(记忆化搜索入门题)
阅读量:6364 次
发布时间:2019-06-23

本文共 771 字,大约阅读时间需要 2 分钟。

题目链接:http://poj.org/problem?id=1088

思路:

明显的记忆化搜索题,用dp[i][j]表示从(i,j)出发能滑的最远距离,用dfs搜索,若dp[x][y]>0即已经计算过,直接返回值即可,否则按照dfs思路递推计算其最大值,递推式为:

dp[x][y]=max(dp[x][y],dfs(xx,yy)+1)((xx,yy)与(x,y)相邻,且a[xx][yy]<a[x][y])。详见代码:

1 #include
2 #include
3 using namespace std; 4 5 int r,c,res; 6 int a[105][105],dp[105][105]; 7 int go[4][2]={-1,0,0,1,1,0,0,-1}; 8 9 int dfs(int x,int y){10 if(dp[x][y]>0) return dp[x][y];11 dp[x][y]=1;12 for(int i=0;i<4;++i){13 int xx=x+go[i][0],yy=y+go[i][1];14 if(xx>=0&&xx
=0&&yy
res) res=tmp;29 }30 printf("%d\n",res);31 return 0; 32 }

 

转载于:https://www.cnblogs.com/FrankChen831X/p/10435120.html

你可能感兴趣的文章
Sencha-概念-Ajax(异步JavaScript和XML)(官网文档翻译13)
查看>>
the process android.process.acore has stopped或the process com.phone。。。。
查看>>
十七:迭代器模式详解(foreach的精髓)
查看>>
var let const
查看>>
【HDOJ】2369 Broken Keyboard
查看>>
【HDOJ】1717 小数化分数2
查看>>
注解(Annotation)
查看>>
格式化异常
查看>>
这几天等回落等的有些不耐烦了
查看>>
分类网络设计技巧
查看>>
angularjs 中的setTimeout(),setInterval() / $interval 和 $timeout
查看>>
java jvm学习笔记六(实现写自己的安全管理器)
查看>>
文件夹的拷贝
查看>>
软件工程M1/M2总结
查看>>
《Python基础教程读书笔记》
查看>>
tomcat发布html静态页面
查看>>
表单提交不成功保存所填信息解决方案
查看>>
验证Oracle处理速度
查看>>
Python设计模式系列之一: 用模式改善软件设计
查看>>
ArcEngine9.3报错Create output feature class failed
查看>>