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

本文共 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

你可能感兴趣的文章
java web项目中后台控制层对参数进行自定义验证 类 Pattern
查看>>
图论学习一之basic
查看>>
Java的Array和ArrayList
查看>>
记录Ubuntu 16.04 安装Docker CE
查看>>
安东尼奥·维瓦尔第——巴洛克音乐的奇葩
查看>>
pandas的增删改查
查看>>
HDU 5933/思维
查看>>
字节对齐
查看>>
Design Tic-Tac Toe
查看>>
SQL中的去重操作
查看>>
uva 12097 - Pie(二分,4级)
查看>>
mongodb索引
查看>>
nginx源码学习资源(不断更新)
查看>>
【bzoj2882】工艺 后缀自动机+STL-map
查看>>
[redis] redis
查看>>
Linux的加密认证功能以及openssl详解
查看>>
[Tools] 使用XP远程登录Win8系统
查看>>
【RL-TCPnet网络教程】第38章 TFTP简单文件传输基础知识
查看>>
HDU- 2265 Encoding The Diary
查看>>
socket基本概念
查看>>