逃离ACM迷宫(BFS)
题目链接
题目描述
如下图所示的是一个由程序设计题目组成的ACM迷宫。迷宫的左上角是入口,右下角是出口。迷宫中每一个格子都有一个程序设计题目,挑战者要AC该题目后才能通过,大于0的数字表示AC该题目所需的最短时间。数字如果是0表示是陷阱,进去了就出不来。现在的问题是:求挑战者从入口到出口所需的最短时间。
解题思路:
1、由于状态转换太多,利用DFS容易超时,因此运用BFS,采用记忆化,对每个格子动态更新到此格子花费的最小时间,过滤掉时间过长的路线,动态更新最短时间即可解决。
#include<cstdio>
#include<iostream>
#include<cstring>
#include<queue>
using namespace std;
//此题的数据大小只有100*100,用深搜求所有