博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
蓝桥杯 迷宫
阅读量:6905 次
发布时间:2019-06-27

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

标题:迷宫

X星球的一处迷宫游乐场建在某个小山坡上。

它是由10x10相互连通的小房间组成的。

房间的地板上写着一个很大的字母。

我们假设玩家是面朝上坡的方向站立,则:
L表示走到左边的房间,
R表示走到右边的房间,
U表示走到上坡方向的房间,
D表示走到下坡方向的房间。

X星球的居民有点懒,不愿意费力思考。

他们更喜欢玩运气类的游戏。这个游戏也是如此!

开始的时候,直升机把100名玩家放入一个个小房间内。

玩家一定要按照地上的字母移动。

迷宫地图如下:

------------
UDDLUULRUL
UURLLLRRRU
RRUURLDLRD
RUDDDDUUUU
URUDLLRRUU
DURLRLDLRL
ULLURLLRDU
RDLULLRDDD
UUDDUDUDLL
ULRDLUURRR
------------

请你计算一下,最后,有多少玩家会走出迷宫?

而不是在里边兜圈子。

请提交该整数,表示走出迷宫的玩家数目,不要填写任何多余的内容。

如果你还没明白游戏规则,可以参看一个简化的4x4迷宫的解说图:

 

 

思路: 此题难点在于怎么判断该玩家是否会陷入死循环,从而走不出来。 我们可以设置一个vis[12][12],vis[i][j]用于标记地图上的某点(i, j)走过的次数,当改点走过的次数大于1时,说明又绕了回来,也即陷入死循环走不出来。

 

1 #include
2 #include
3 #include
4 #include
5 6 using namespace std; 7 8 char mp[12][12] = { 9 "UDDLUULRUL",10 "UURLLLRRRU",11 "RRUURLDLRD",12 "RUDDDDUUUU",13 "URUDLLRRUU",14 "DURLRLDLRL",15 "ULLURLLRDU",16 "RDLULLRDDD",17 "UUDDUDUDLL",18 "ULRDLUURRR" };19 20 int vis[12][12];21 int x, y;22 int result;23 24 int main()25 {26 for (int i = 0; i < 10; ++i)27 {28 for (int j = 0; j < 10; ++j)29 {30 memset(vis, 0, sizeof(vis)); //一定要记得重置!31 x = i;32 y = j;33 ++vis[x][y];34 while (1)35 {36 if (mp[x][y] == 'U')37 --x;38 else if (mp[x][y] == 'D')39 ++x;40 else if (mp[x][y] == 'L')41 --y;42 else if (mp[x][y] == 'R')43 ++y;44 45 if (x < 0 || x >= 10 || y < 0 || y >= 10) //走出来了46 {47 ++result;48 break;49 }50 51 ++vis[x][y];52 53 if (vis[x][y] > 1) //又绕了回来,即陷入了死循环走不出来54 break;55 }56 }57 }58 59 cout << result << endl;60 61 return 0;62 }

 

 

 

答案: 31

 

转载于:https://www.cnblogs.com/FengZeng666/p/10496905.html

你可能感兴趣的文章
Lucene介绍和创建索引和搜索初步
查看>>
LNMP的基础上搭建wordpress
查看>>
祝福你的旅行
查看>>
Vsftp搭建(一)与PAM验证 SSL加密 登陆
查看>>
Ubuntu Server 18.04 配置 rsync(xinetd)
查看>>
ClassNotFoundException 和 NoClassDefFoundError 区别
查看>>
特征提取概述
查看>>
python 遇到NameError: name '__file__' is not defi...
查看>>
CentOS7.3 64位安装Hyperledger fabric多通道多组织多节点
查看>>
应用偶发性连接不上Oracle数据库的排查案例
查看>>
CentOS7切换图形启动模式
查看>>
利用python分析日志生成图表
查看>>
c#中不定长参数(关键字Params)使用
查看>>
WinAPI: waveOutPause - 暂停播放
查看>>
FTP自动上传
查看>>
我的友情链接
查看>>
mysqldump工具
查看>>
用 PHP 读取文件的正确方法
查看>>
LoadRunner压力测试时监控服务器Linux的资源情况
查看>>
azure存储并发写 压力测试
查看>>