刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

蓝桥杯赛迷宫

把一个n行m 列的字符阵列看做一个迷宫,迷宫仅包含L、Q、B、S中的大写字母(蓝桥杯赛的汉语拼音首字母)。

初始时,你可以从任意一个“L"字母开始,移向相邻的“Q"字母,然后从此“Q"字母出发,移向相邻的“B字母,然后从此“B”字母出发,移向相邻的“S”字母......。这样,你就算是走过了一个“LQBS”字符序列。接下来,仍然可以从此“S”字母出发,移向相邻的“L”字母.......重复上述的动作,你就可以不断地走过“LQBS”序列。

请注意,所谓相邻仅包含上、下、左、右4个方向,且只能从L->Q,从Q->B,从B->S,从S-L.可以想像,由于选择的出发点不同,我们有可能在迷宫中走过无数次的“LQBS”,或者是有限次的LQBS”

或者一次也走不了

编程实现:

请你编写程序,求出在给定的迷宫中,我们最多可以走过多少次“LQBS”?

输入:

第一行:正整数n,m,表示迷宫的规模为n行m列,0<m<100,0<n<100

接下来的n行:每行 m个符合题意的字母,字母间无空格

输出:

一个整数。即:如果在迷宫中可以无限次的走过“LQBS”,输出-1,否则,输出可以走过“LQBS”的最多次数。

样例1输入:

1 2
L Q

样例1输出:

0

样例2输入:

3 3
LSB
QBQ
BSL

样例2输出:

-1

样例3输入:

4 4
BLQB
BBQS
SBQL
QQQQ

样例3输出:

2

样例数据分析:

样例1:

第一行数据33代表是3行3列的迷宫

第1步,寻找L

LSB

QBQ

BSL

第2步在L的上下左右寻找Q

LSB

QBQ

BSL

第3步在Q的上下左右寻找B

LsB

QBQ

BSL

第4步在B的上下左右寻找S

LSB

QBQ

BSL

如此当重复到10次的时候,仍可以继续走,代表进入无限循环

因为3行3列最多9个格子,能走10步就代表一定进入无限循环

输出-1

样例2:

第一行数据44代表是4行4列的迷宫

第1步,寻找起点L

BLQB

BBQS

SBQL

QQQQ

第2步在L的上下左右寻找Q

BLQB

BBQS

SBQL

QQQQ

第3步在Q的上下左右寻找B

BLQB

BBQS

SBQL

QQQQ

第4步在B的上下左右寻找S

BLQB

BBQS

SBQL

QQQQ

第5步在S的上下左右寻找L

BLQB

BBQS

SBQL

QQQQ

第6步在L的上下左右寻找Q

BLQB

BBQS

SBQL

QQQQ

第7步在Q的上下左右寻找B

BLQB

BBQS

SBQL

QQQQ

第8步在B的上下左右寻找S

BLQB

BBQS

SBQL

QQQQ

第9步在S的上下左右寻找L

因为找不到L了,则代表迷宫走到尽头,一共走了8步,LQBS一共4个字符,所以走了8/4=2共计2次LQBS,输出2

使用微信搜索喵呜刷题,轻松应对考试!

答案:

输入迷宫的规模n和m,然后遍历迷宫,找到起始点L,再寻找相邻的Q,接着寻找相邻的B,最后寻找相邻的S。每走一次LQBS,计数器加1。当找不到起始点L时,结束遍历,输出计数器的值。如果计数器值无限大(比如大于迷宫中格子数的4倍),则输出-1表示可以无限次走过LQBS。

解析:

【喵呜刷题小喵解析】:
这道题目要求我们计算在给定的迷宫中最多可以走过多少次LQBS序列。首先,我们需要理解题目中的规则:只能从L到Q,从Q到B,从B到S,从S到L。我们需要找到起始点L,然后按照规则遍历迷宫,每走一次LQBS,计数器加1。当找不到起始点L时,遍历结束,输出计数器的值。如果计数器值无限大(比如大于迷宫中格子数的4倍),则输出-1表示可以无限次走过LQBS。

具体实现时,我们可以使用深度优先搜索(DFS)或广度优先搜索(BFS)来遍历迷宫。由于题目中迷宫的规模较小(n和m都不超过100),使用DFS或BFS都可以得到正确答案。在遍历过程中,我们需要记录当前的位置和已经走过的LQBS序列的次数,当找不到起始点L时,结束遍历,输出计数器的值。

需要注意的是,由于题目中迷宫的规模较小,我们可以使用暴力枚举的方法来解决这个问题。具体来说,我们可以遍历迷宫中的每个格子,找到起始点L,然后按照规则遍历迷宫,计算可以走过的LQBS序列的次数。如果无法遍历完整个迷宫,说明可以无限次走过LQBS序列,输出-1。

对于更大的迷宫,我们需要使用更高效的算法来解决问题。我们可以使用图论的知识来建立迷宫的模型,然后使用图论算法来遍历迷宫。例如,我们可以使用深度优先搜索或广度优先搜索来遍历迷宫,使用拓扑排序或最短路径算法来找到可以走过的LQBS序列的次数。这些算法需要更深入的图论知识和算法设计技巧,但可以有效地解决更大的迷宫问题。
创作类型:
原创

本文链接:蓝桥杯赛迷宫 把一个n行m 列的字符阵列看做一个迷宫,迷宫仅包含L、Q、B、S中的大写字母(蓝桥杯赛

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share