[蓝桥杯省赛 初级组] 蓝桥杯赛迷宫
时间限制:1 S
内存限制:64 MB
【题目描述】
把一个 \(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\) (\(0 < n , m < 100\)) ,表示迷宫的规模为 \(n\) 行 \(m\) 列。
接下来的 \(n\) 行:每行 \(m\) 个符合题意的字母,字母间无空格。
【输出格式】
输出一个整数。即:如果在迷宫中可以无限次地走过 “LQBS” ,则输出 -1 ,否则,输出可以走过 “LQBS” 的最多次数。
样例 1
【样例 1 输入】
1 2
LQ
【样例 1 输出】
0
样例 2
【样例 2 输入】
3 3
LSB
QBQ
BSL
【样例 2 输出】
-1
样例 3
【样例 3 输入】
4 4
BLQB
BBQS
SBQL
QQQQ
【样例 3 输出】
2
信息
- ID
- 1022
- 难度
- 2
- 分类
- (无)
- 标签
- 递交数
- 8
- 已通过
- 2
- 通过率
- 25%
- 上传者