AtCoder Beginner Contest 184 E (bfs)
题意:
一个n*m的地图,每个格子的图案为S , G , . ,#,a~z。
从S走到G,每次只能从4个方向走或者相同字母任意传送,求最小步数
题解:
先存下来每个字母的位置。然后bfs时当前字符为a~z时,看是否是第一次走过,如果是的话就对所有为相同字符的字母进行入队,然后标记当前字母已经遍历过,否则直接跳过该操作。其他的操作就和普通的bfs一样,向4个方向遍历,具体操作看代码。
#include<bits/stdc++.h>
using namespace std;
typedef long
原创
2020-11-23 17:24:15 ·
281 阅读 ·
0 评论