G:jlz的漫步(1316)
题目链接:http://acm.xidian.edu.cn/problem.php?id=1316
dfs + 记忆化搜索,因为dfs的回溯,很方便的可以在每一点做记忆;
dfs定义变量一定要注意全局和局部;
1 #include<stdio.h> 2 #include<memory.h> 3 #include<algorithm> 4 5 using namespace std; 6 int A[1005][1005]; 7 int d[1001][1001]; 8 int n, m; 9 int max_len; 10 int dx[4] = {-1, 0, 1, 0}; 11 int dy[4] = {0, -1, 0, 1}; 12 13 int dfs(int x, int y) 14 { 15 if(d[x][y] != 0) //判断是否有子树已经被经历过 16 return d[x][y]; 17 int len = 1; //**********dfs中的量,尽可能都在dfs中定义,因为该量会随dfs递归和回溯,定义为全局变量会出事(1h血的教训!!!) 18 for(int k = 0;k < 4;k++) 19 { 20 int di = x + dx[k]; 21 int dj = y + dy[k]; 22 if(di >= 0 && di < n && dj >= 0 && dj < m && A[di][dj] > A[x][y]) 23 { 24 len = max(len, dfs(di,dj) + 1); 25 } 26 } 27 d[x][y] = len; //通过回溯来实现倒着记录层数(语言匮乏,你可以试着用bfs想一下,发现bfs很难做到) 28 return len; 29 } 30 31 int main() 32 { 33 int T; 34 while(scanf("%d",&T) != EOF) 35 { 36 while(T--) 37 { 38 memset(d,0,sizeof(d)); 39 max_len = -1; 40 scanf("%d %d",&n, &m); 41 for(int i = 0;i < n;i++) 42 for(int j = 0;j < m;j++) 43 scanf("%d",&A[i][j]); 44 for(int i = 0;i < n;i++) 45 for(int j = 0;j < m;j++) 46 { 47 max_len = max(max_len,dfs(i,j)); //在各个点执行dfs,找出最长路径 48 } 49 printf("%d\n",max_len); 50 } 51 } 52 return 0; 53 }
转载于:https://www.cnblogs.com/Dicer/p/9114552.html
G:jlz的漫步(1316)相关推荐
- 2021CSP入门级第一轮认证详细解析
预计阅读时间:10分钟 1.单选题(2分) 以下不属于面向对象程序设计语言的是( ). A.C++ B.Python C.Java D.C 解析:C语言并非面相对对象,而是面向过程. 答案:D 2.单 ...
- 文件上传之伪Ajax方式上传
From: <由 Windows Internet Explorer 8 保存> Subject: =?gb2312?B?zsS8/snPtKvWrs6xQWpheLe9yr3Jz7SrI ...
- 搜索专题: HDU1428漫步校园
漫步校园 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- hdoj1428 -- 漫步校园 (记忆化搜索)
漫步校园 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- Light OJ 1316 A Wedding Party 最短路+状态压缩DP
题目来源:Light OJ 1316 1316 - A Wedding Party 题意:和HDU 4284 差点儿相同 有一些商店 从起点到终点在走过尽量多商店的情况下求最短路 思路:首先预处理每两 ...
- Day19-22 2021/10/13-16 JAVA贪吃蛇 全注释版
Day19-22 2021/10/13-16 贪吃蛇 帧:如果时间足够小 就是动画 键盘监听 定时器 Timer package snale; import javax.swing.*; /*** @ ...
- RL 实践(3)—— 悬崖漫步【QLearning Sarsa 各种变体】
本文介绍如何用 QLeaning 系列和 Sarsa 系列表格方法解经典的悬崖漫步 (Cliff Walking) 问题 完整代码下载:4_[Gym Custom] Cliff Walking (Q- ...
- 数据分析学习笔记(六)-- 随机漫步
该例子通过模拟一些随机数,完成简单的数理统计工作,作为后期数据分析的一次体验 随机漫步:随机产生1或-1随机数,模仿一个人前进或者后退 在此环境下,进行一些统计工作 随机漫步 首页做一些准备工作 im ...
- SSLOJ 1316.血色先锋军
1316.血色先锋军 时间限制:1000MS内存限制:256000KB 题目描述 巫妖王的天灾军团终于卷土重来,血色十字军组织了一支先锋军前往诺森德大陆对抗天灾军团,以及一切沾有亡灵气息的生物.孤立于 ...
最新文章
- Go的50坑:新Golang开发者要注意的陷阱、技巧和常见错误[2]
- pycharm如何在程序运行后查看变量的值,变量的类型(不通过print和debug的方式)
- 东鹏马桶上水下水之谜
- div弹窗如何设置不超出页面_js实现弹窗功能(以支付方式为例)
- Luogu P2735 电网【真·计算几何/Pick定理】By cellur925
- HP DL388G5 安装64位linux虚拟系统出错!
- 原生js使用forEach()与jquery使用each遍历数组,return false 的区别
- 设备驱动,字符设备驱动、(总线)设备驱动模型、sysfs文件系统、平台设备驱动
- 2017.8.11 亚瑟王 失败总结
- MFC开发IM-字符串转换大全
- “编程能力差,90%输在了这点上!”骨灰级工程师:其实你们都是瞎努力!
- [Python设计模式] 第14章 老板来了——观察者模式
- 最新的.net书籍教程 更新时间:2005-9-5
- 2. wordpress 友情链接的备份和导入
- 深度好文:这才是实际工作中的竞品分析
- 29.正向和负向Lookahead
- 完美国际架设mysql_完美国际SF-物理机架设服务端教程
- 沈向洋:为何读论文这么难?
- 网页源文件星号怎么显示_怎么查看网页星号密码?4种浏览器网页星号点号密码查看方法介绍...
- 成龙坦言演蒲松龄曾打退堂鼓:我演大文豪谁信啊