poj3984迷宫问题
#include<iostream>#include<cmath>#include<algorithm>#include<queue>#include<stack>#include<vector>#include<cstring>#include<cstdio>#include<map>#i
·
#include<iostream>
#include<cmath>
#include<algorithm>
#include<queue>
#include<stack>
#include<vector>
#include<cstring>
#include<cstdio>
#include<map>
#include<cctype>
#define ll long long
#define go(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
struct node{
int r;
int c;
};
int dx[]={0,1,0,-1};
int dy[]={1,0,-1,0};
int vis[5][5];
char mapp[5][5];
node father[5][5];
vector<node>nodes;
queue<node>fun;
void print(node u)
{
while(1)
{
nodes.push_back(u);
if(u.r==0&&u.c==0) break;
u=father[u.r][u.c];
}
for(int i=nodes.size()-1;i>=0;i--)
{
cout<<"("<<nodes[i].r<<", "<<nodes[i].c<<")"<<endl;
}
}
void bfs()
{
node f;
f.r=0;
f.c=0;
vis[0][0]=1;
fun.push(f);
while(fun.size())
{
node font=fun.front();
fun.pop();
if(font.r==4&&font.c==4)
{
print(font);
return;
}
for(int i=0;i<4;i++)
{
int xx=font.r+dx[i];
int yy=font.c+dy[i];
node p;
p.r=xx;
p.c=yy;
if(xx>=0&&xx<=4&&yy>=0&&yy<=4&&vis[xx][yy]==0&&mapp[xx][yy]!='1')
{
vis[xx][yy]=1;
father[xx][yy]=font;
fun.push(p);
}
}
}
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
cin>>mapp[i][j];
}
}
bfs();
return 0;
}

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)