Bfs模板
void Bfs(int st){
初始状态
如队列 Q.push(初始)
while(!Q.empty()) {
从队列取出 = Q.front()
Q.pop()
if() 判断是否到达终点或者进行最大值、最小值的记录
for( .... ){
方向移动
if() { 判断是否越界或是否满足题目条件
改变状态
Q.push() 入队列
}
}
}
}
Dfs模板
void Dfs(int x,int y,int st){
if() 判断是否到达终点或者进行最大值、最小值的记录
for( ...... ){
方向移动
if(){ 判断是否越界或者是否满足题目条件
标记
Dfs(改变状态)
取消标记
}
}
}