题目大意:给定一个n*m的只含0和1的矩阵,从矩阵的最后一行中的某个1出发,每步只能走到相邻的且是1的格子中,求能达到的最大高度(最小行数)。

这题直接DFS即可,复杂度为O(N*M)。

View Code

 1 #include <stdio.h>
 2 #define MAX(a,b)  ((a)>(b)?(a):(b))
 3 #define N 100
 4 int dx[4]={0,0,1,-1};
 5 int dy[4]={1,-1,0,0};
 6 char g[N][N];
 7 int n,m,ans;
 8 void dfs(int i,int j)
 9 {
10   int d,ni,nj;
11   ans=MAX(ans,n-i);
12   g[i][j]=0;
13   for(d=0;d<4;d++)
14   {
15     ni=i+dx[d],nj=j+dy[d];
16     if(ni<0 || nj<0 || ni>=n || nj>=m || !g[ni][nj])  continue;
17     dfs(ni,nj);
18   }
19 }
20 int main()
21 {
22   int i,j;
23   while(~scanf("%d%d",&n,&m))
24   {
25     for(i=0;i<n;i++)
26     {
27       for(j=0;j<m;j++)  scanf("%d",&g[i][j]);
28     }
29     ans=0;
30     for(j=0;j<m;j++)  if(g[n-1][j]) dfs(n-1,j);
31     printf("%d\n",ans);
32   }
33   return 0;
34 }

转载于:https://www.cnblogs.com/algorithms/archive/2012/04/24/2468793.html

COJ1196(Staginner 去爬山)相关推荐

  1. 这样写交互说明,开发不会约你去爬山~

    交互说明,是交互设计师必不可少的'写作能力',它能让研发同事更加了解你的方案说明.交互想法. 但写得不好,容易出现流水账式.逻辑不清楚.文案臃肿等情况,给自己带来额外的工作量,还影响着与研发同事的对接 ...

  2. 阿里三面让我现场改造Spring框架,明天带他去爬山!

    作为一个Java程序员,提到开源框架,Spring无疑是绕不过去的门槛,相信大家对它都不陌生,或多或少都用过. 但是如果谈到改造Spring框架,实现它的自定义扩展,以及大厂面试必问的源码,很多人就会 ...

  3. CSUOJ 1196- Staginner 去爬山

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1196 这道题也是搜索题,还是dfs,我们只需对最后一行进行搜索,然后找到能爬到的最高高度即可,每走 ...

  4. 修改 decimal 默认值为0.00 sql_被经理邀请去“爬山”,只是因为我写错了一条SQL语句?...

    作者:isysc1 链接:https://juejin.im/post/5f06a2156fb9a07e5f5180df 来源:掘金 前戏 SQL 写的妙,涨薪呱呱叫! 新来的实习生小杨写了一条 SQ ...

  5. NOJ[1587] 一群不学好的NBUT ACMers竟然作死要去爬山?晚上还困在山上回不去2333而且竟然只有一个手电筒,(名字那么长)不是作死是什么

    传送门:http://acm.nbut.edu.cn/Problem/view.xhtml?id=1587 每次把最小的2个送过去,然后最小的回来,再把最大的两个送过去,然后次小的回来,以后的类似,但 ...

  6. luogu P1361 小猫爬山 [iddfs]

    题目描述 WD和LHX饲养了N只小猫,这天,小猫们要去爬山.经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了. WD和LHX只好花钱让它们坐索道下山.索道上的缆车最大承重量为W ...

  7. 后怎么恢复_爬山后小腿肌肉酸痛怎么办 ?这样来恢复!|新生活公社

    爬山后小腿肌肉酸痛怎么办 ?这样来恢复! 在爬山之后腿疼的话可以用热敷.按摩.泡脚.拉伸等等方法来帮助自己恢复,爬山之后腿疼是正常的现象,我们在爬山之后要及时拉伸. 爬山后小腿肌肉酸痛怎么办 1热敷 ...

  8. python 排列组合_Python计算生态jieba库和random库的综合运用之爬山篇

    本篇文章会利用python语言中的第三方库jieba库和标准库random库来对文件中的相关元素进行操作. 实践中文片段:"今天是个好天气,大家一起去爬山."该句子分为上下两部分, ...

  9. 周末爬山之圈门-潭柘寺

    从上周因为星期五晚上喝了一些酒而取消活动(本来打算去爨底下的)之后,这周又继续开始进行第六次脚的虐待. 这次选定的路线是从圈门穿越到潭柘寺,本来我从网上看了一段轨迹,打算学着轨迹的样子转一个圈在回到圈 ...

最新文章

  1. 多伦多到温莎_我想要freeCodeCamp Toronto的Twitter来发布报价,所以我做了一个免费的bot来做到这一点。...
  2. 有必要将所有机器学习算法都实现一遍吗?
  3. RHEL6 下安装tmux
  4. 吸水间最低动水位标高_消防水泵-吸水管路设置要求
  5. AI技术已达如此高度:去码、上色6到飞起
  6. 阿里云原生数据库:POLARDB
  7. ThinkPHP3.2 volist嵌套循环显示原理
  8. 06链队列_LinkQueue--(栈与队列)
  9. 【转】设计模式 ( 十七) 状态模式State(对象行为型)
  10. Mongodb 集群实战
  11. 零基础带你学习MySQL—备份恢复数据库(三)
  12. MySQL查看和修改数据库存储目录
  13. 拓端tecdat|Stata中的治疗效果:RA:回归调整、 IPW:逆概率加权、 IPWRA、 AIPW
  14. linux命令:mkfs、mke2fs、blkid、e2label、tune2fs、dumpe2fs、fsck、e2fsck
  15. db2数据库连接数 linux_DB2 数据库 linux基本操作【转】
  16. 从线报群看短链接技术
  17. 【将列表中的每个数据转换成倒数 np.reciprocal()】
  18. 局域网内两台电脑ping不通
  19. 10.curry 方法
  20. 网名接龙--之追求完美

热门文章

  1. Java程序员如何快速理解Kubernetes
  2. 通用权限管理系统组件 (GPM - General Permissions Manager) 不改数据库、甚至不写代码就集成铜墙铁壁权限管理组件...
  3. 标识为普通SQL语法
  4. 2016年4月 TIOBE 编程语言排行榜
  5. mysql创建定时器(event),查看定时器,打开定时器,设置定时器时间
  6. 测试使用wiz来发布blog
  7. 在DOS环境下编译及运行java程序教程
  8. 制作 Windows8   to Go
  9. android开发(13) 尝试在流布局中移动控件
  10. ImageView倒影效果