蓝桥杯2017初赛:迷宫 (dfs搜索)
[蓝桥杯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搜索)相关推荐
- 蓝桥杯2017初赛-迷宫-dfs
题目描述 X星球的一处迷宫游乐场建在某个小山坡上.它是由10x10相互连通的小房间组成的. 房间的地板上写着一个很大的字母.我们假设玩家是面朝上坡的方向站立,则: L表示走到左边的房间,R表示走到右边 ...
- [蓝桥杯2019初赛]迷宫-DFS、BFS两种方法
迷宫问题的最短路,加最小字典序 迷宫文件maze.txt传送门 作者写的2019年B组蓝桥杯解集 . . . DFS的版本 #include<iostream> #include<c ...
- [蓝桥杯2017初赛]跳蚱蜢-map标记+bfs+环形数组
解题思路: 这题如果我们考虑蚱蜢跳,有很多蚱蜢,有很多情况,所以我们让空盘跳,这样就简化题目了,然后我们化圆为直,将题目的情况看成字符串012345678,最后要变成087654321,这样题目就变得 ...
- 蓝桥杯题目练习 提升篇 [蓝桥杯2019初赛]迷宫
[蓝桥杯2019初赛]迷宫 题目描述 下图给出了一个迷宫的平面图,其中标记为1 的为障碍,标记为0 的为可 以通行的地方. 010000 000100 001001 110000 迷宫的入口为左上角, ...
- 蓝桥杯2015初赛生命之树 DFS图解
大家觉得写还可以,可以点赞.收藏.关注一下吧! 也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn 文章目录 蓝桥杯2015初赛生命之树
- [蓝桥杯2017初赛]方格分割-dfs+思维
解题思路: 这是大佬的思路: 这道题可能上来会想到搜格子,但搜格子意味着更高的复杂度以及判连通的需要,本题似乎搜索要切开的边更优.由题意,这一条切割线必定经过图的中心点,那么我们一旦确定了半条到达边界 ...
- [蓝桥杯2017初赛]算式900+dfs,next_permutation
法一: 代码如下: #include <iostream> using namespace std; const int N = 15; bool st[N]; int a[N];void ...
- 蓝桥杯2017初赛-9数算式-dfs
题目描述 观察如下的算式:9213 x 85674 = 789314562 左边的乘数和被乘数正好用到了1~9的所有数字,每个1次. 而乘积恰好也是用到了1~9的所有数字,并且每个1次. 请你借助计算 ...
- [蓝桥杯2017初赛]等差素数列-巧妙枚举(思维)
题目描述 2,3,5,7,11,13,-是素数序列. 类似:7,37,67,97,127,157 这样全由素数组成的等差数列,叫等差素数数列. 上边的数列公差为30,长度为6. 2004年,格林与华人 ...
最新文章
- tensorflow keras 上采样(放大图片) tf.keras.layers.UpSampling2D 示例
- 清华博士接亲被要求现场写代码,5 分钟做出一颗爱心
- 做App还是微信公众号,你该如何抉择?
- pytorch 卷积分组
- 虚拟IO服务器,虚拟IO服务器VIOS概念.doc
- python 列表比较不同物质的吸热能力_飘着雪花的冬天
- tps波动很大的原因_花生价格小幅上涨,要突破6元大关?粮贩:还有很大距离...
- 暴走大侠找不到服务器了,《暴走大侠》常见问题汇总(图文)
- ios之mknetworkkit笔记
- mac find桌面显示desktop问题
- Linux系统死亡之ping,linux下防止syn***,端口扫描和死亡之ping
- 【LaTeX】矢量图转为pdf格式(为了将高清矢量图插入LaTeX)
- 元宇宙如何改变人类社会生活。
- 3个传教士与3个野人,哥带你们过河去
- 计算机海报大赛策划书,海报策划书模板.docx
- vbs 打开指定浏览器网页
- 微积分review 极限,迫敛性,极限四则运算,自然常数来历
- 何恺明新作来了!更快更有效的训练FLIP
- MySQL_11_范式优化
- 计算机视觉系列(七)——迁移学习
热门文章
- 怎么切换界面_PLC外部开关如何控制触摸屏界面的切换?
- php 有必要学dede吗,浅谈{dede:php}{/dede:php}的具体用法
- 嵌入式Linux利用busybox制作根文件系统
- img加载本地图片_图片加载技术-懒加载和预加载
- java与python多态的区别_python中多态
- 汇编码转机器码万能转换工具(Intel 32/64、ARM 大小端、Thumb大小端、ARM V8大小端、Thumb V8大小端、AArch64)
- 如果我们分手了:伤感日志
- 一套完整的网站建设方案
- Android系统源码
- 基于Spark与ROS分布式无人驾驶模拟平台