广度优先搜索“魔”版
leo1009
2026-08-19 11:22:34
2026-08-19 11:23:23
#include<bits/stdc++.h>
#pragma GCC optimize(3)
using namespace std;
struct node{
int x,y;
};
int mp[10][10]={};
void BFS(){
queue<node>que;
bool check[10][10]={};
int dx[5]={-1,0,1,0};
int dy[5]={0,1,0,-1};
node a={1,1};
que.push(a);
check[1][1]=1;
while(!que.empty()){
node f=que.front();
if(mp[f.x][f.y]==2){
cout<<f.x<<" "<<f.y;
return ;
}
for(int i=0;i<4;i++){
int nx=f.x+dx[i];
int ny=f.y+dy[i];
if(nx>0 && nx<=4 && !check[nx][ny] && mp[nx][ny]!=1){
check[nx][ny]=true;
node t={nx,ny};
que.push(t);
}
}
que.pop();
}
cout<<0;
exit(0);
}
int main(){
for(int i=1;i<=4;i++){
for(int j=1;j<=4;j++){
cin>>mp[i][j];
}
}
BFS();
return 0;
}