[蓝桥杯2017初赛]迷宫

  • Description

X星球的一处迷宫游乐场建在某个小山坡上。它是由10x10相互连通的小房间组成的。
房间的地板上写着一个很大的字母。我们假设玩家是面朝上坡的方向站立,则:
L表示走到左边的房间,R表示走到右边的房间,U表示走到上坡方向的房间,D表示走到下坡方向的房间。
X星球的居民有点懒,不愿意费力思考。他们更喜欢玩运气类的游戏。这个游戏也是如此!
开始的时候,直升机把100名玩家放入一个个小房间内。玩家一定要按照地上的字母移动。
迷宫地图如下:

UDDLUULRUL
UURLLLRRRU
RRUURLDLRD
RUDDDDUUUU
URUDLLRRUU
DURLRLDLRL
ULLURLLRDU
RDLULLRDDD
UUDDUDUDLL
ULRDLUURRR

请你计算一下,最后,有多少玩家会走出迷宫? 而不是在里边兜圈子。

  • Input

  • Output

输出一个整数表示答案

分析

搜索,根据坐标判断能否走出迷宫。

  • AC代码
#include<bits/stdc++.h>
using namespace std;
char c[10][10];  //记录字符的数组
int visit[10][10];   //判断是否搜过
int cnt=0;
void dfs(int i,int j)
{if(i<0||i>9||j<0||j>9) //迷宫的出口{cnt++;return;}else{if(visit[i][j])   return; //如果已经搜过,直接返回visit[i][j]=1;   //标记已搜索if(c[i][j]=='L') dfs(i,j-1); //向左if(c[i][j]=='R') dfs(i,j+1); //向右if(c[i][j]=='U') dfs(i-1,j); //向上if(c[i][j]=='D') dfs(i+1,j); //向下}
}
int main()
{int i,j;for(i=0;i<10;i++)for(j=0;j<10;j++)cin>>c[i][j];for(i=0;i<10;i++)for(j=0;j<10;j++){memset(visit,0,sizeof(visit)); //搜索每一个房间时,初始化搜搜数组dfs(i,j);}cout<<cnt;return 0;
}

蓝桥杯2017初赛:迷宫 (dfs搜索)相关推荐

  1. 蓝桥杯2017初赛-迷宫-dfs

    题目描述 X星球的一处迷宫游乐场建在某个小山坡上.它是由10x10相互连通的小房间组成的. 房间的地板上写着一个很大的字母.我们假设玩家是面朝上坡的方向站立,则: L表示走到左边的房间,R表示走到右边 ...

  2. [蓝桥杯2019初赛]迷宫-DFS、BFS两种方法

    迷宫问题的最短路,加最小字典序 迷宫文件maze.txt传送门 作者写的2019年B组蓝桥杯解集 . . . DFS的版本 #include<iostream> #include<c ...

  3. [蓝桥杯2017初赛]跳蚱蜢-map标记+bfs+环形数组

    解题思路: 这题如果我们考虑蚱蜢跳,有很多蚱蜢,有很多情况,所以我们让空盘跳,这样就简化题目了,然后我们化圆为直,将题目的情况看成字符串012345678,最后要变成087654321,这样题目就变得 ...

  4. 蓝桥杯题目练习 提升篇 [蓝桥杯2019初赛]迷宫

    [蓝桥杯2019初赛]迷宫 题目描述 下图给出了一个迷宫的平面图,其中标记为1 的为障碍,标记为0 的为可 以通行的地方. 010000 000100 001001 110000 迷宫的入口为左上角, ...

  5. 蓝桥杯2015初赛生命之树 DFS图解

    大家觉得写还可以,可以点赞.收藏.关注一下吧! 也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn 文章目录 蓝桥杯2015初赛生命之树

  6. [蓝桥杯2017初赛]方格分割-dfs+思维

    解题思路: 这是大佬的思路: 这道题可能上来会想到搜格子,但搜格子意味着更高的复杂度以及判连通的需要,本题似乎搜索要切开的边更优.由题意,这一条切割线必定经过图的中心点,那么我们一旦确定了半条到达边界 ...

  7. [蓝桥杯2017初赛]算式900+dfs,next_permutation

    法一: 代码如下: #include <iostream> using namespace std; const int N = 15; bool st[N]; int a[N];void ...

  8. 蓝桥杯2017初赛-9数算式-dfs

    题目描述 观察如下的算式:9213 x 85674 = 789314562 左边的乘数和被乘数正好用到了1~9的所有数字,每个1次. 而乘积恰好也是用到了1~9的所有数字,并且每个1次. 请你借助计算 ...

  9. [蓝桥杯2017初赛]等差素数列-巧妙枚举(思维)

    题目描述 2,3,5,7,11,13,-是素数序列. 类似:7,37,67,97,127,157 这样全由素数组成的等差数列,叫等差素数数列. 上边的数列公差为30,长度为6. 2004年,格林与华人 ...

最新文章

  1. tensorflow keras 上采样(放大图片) tf.keras.layers.UpSampling2D 示例
  2. 清华博士接亲被要求现场写代码,5 分钟做出一颗爱心
  3. 做App还是微信公众号,你该如何抉择?
  4. pytorch 卷积分组
  5. 虚拟IO服务器,虚拟IO服务器VIOS概念.doc
  6. python 列表比较不同物质的吸热能力_飘着雪花的冬天
  7. tps波动很大的原因_花生价格小幅上涨,要突破6元大关?粮贩:还有很大距离...
  8. 暴走大侠找不到服务器了,《暴走大侠》常见问题汇总(图文)
  9. ios之mknetworkkit笔记
  10. mac find桌面显示desktop问题
  11. Linux系统死亡之ping,linux下防止syn***,端口扫描和死亡之ping
  12. 【LaTeX】矢量图转为pdf格式(为了将高清矢量图插入LaTeX)
  13. 元宇宙如何改变人类社会生活。
  14. 3个传教士与3个野人,哥带你们过河去
  15. 计算机海报大赛策划书,海报策划书模板.docx
  16. vbs 打开指定浏览器网页
  17. 微积分review 极限,迫敛性,极限四则运算,自然常数来历
  18. 何恺明新作来了!更快更有效的训练FLIP
  19. MySQL_11_范式优化
  20. 计算机视觉系列(七)——迁移学习

热门文章

  1. 怎么切换界面_PLC外部开关如何控制触摸屏界面的切换?
  2. php 有必要学dede吗,浅谈{dede:php}{/dede:php}的具体用法
  3. 嵌入式Linux利用busybox制作根文件系统
  4. img加载本地图片_图片加载技术-懒加载和预加载
  5. java与python多态的区别_python中多态
  6. 汇编码转机器码万能转换工具(Intel 32/64、ARM 大小端、Thumb大小端、ARM V8大小端、Thumb V8大小端、AArch64)
  7. 如果我们分手了:伤感日志
  8. 一套完整的网站建设方案
  9. Android系统源码
  10. 基于Spark与ROS分布式无人驾驶模拟平台