http://acm.hdu.edu.cn/showproblem.php?pid=1072
#include<iostream>
#include<cstdio>
#include<queue>
#include<cstring>
#include<cstdlib>
/*
求最短步数,BFS,剪枝的时候注意,这里有时间的限制,故用vis[x][y][time]三维数组
来标记
*/
using namespace std;
struct node
{
int x,y,time,step;
}s,p;
bool operator<(node a,node b)
{
return a.step>b.step;
}
int m,n,maze[8][8],vis[8][8][7];
int next[4][2]={1,0,0,1,0,-1,-1,0};
int bfs(node s)
{
priority_queue<node,vector<node> > que;
que.push(s);
while(!que.empty())
{
s=que.top();
que.pop();
if(s.time>1)
for(in
本文详细介绍了如何使用Breadth First Search (BFS) 算法解决HDU 1072 Nightmare问题。通过对题目背景、问题转换和算法实现的讲解,帮助读者理解并掌握在图论问题中应用BFS的方法。
订阅专栏 解锁全文
4228

被折叠的 条评论
为什么被折叠?



