报错代码(doge)

ykj71 2022-07-14 14:25:48 2022-07-14 14:33:47 0
#include<bits/stdc++.h>

using namespace std;

char a[101][40]={};

int n,m,sx,sy,ex,ey,vis[50][50];

struct node{

	int x,y;

};

queue<node> q;


int dx[4]={-1,0,1,0},dy[4]={0,1,0,-1};  

int bfs(int x,int y){

	q.push({x,y});

	vis[x][y]=1;

	while(!q.empty()){

		node u=q.front();

		if(a[u.x][u.y]=='*'){

			return vis[u.x][u.y]-1;

		}

		q.pop();

		for(int i=0;i<4;i++){

			node nu={u.x+dx[i], u.y+dy[i]};

			if(a[nu.x][nu.y]!='#'&&vis[nu.x][nu.y]==0&&nu.x<n&&nu.y<m&&nu.x>=0&&nu.y>=0){

				q.push(nu);

				vis[nu.x][nu.y]=vis[u.x][u.y]+1;

			}

		}

	}

	return -1;

}

int main(){

while(1){

	cin>>n>>m; 

	if(n==0&&m==0){

		goto A;

	}
for(int i=0;i<n;i++){

	for(int j=0;j<m;j++){

		cin>>a[i][j];

		if(a[i][j]=='@'){

			sx=i;

			sy=j;

		}
		if(a[i][j]=='*'){

			ex=i;

			ex=j;

		}

	}

} 

cout<<bfs(sx,sy);

memset(vis, 0, sizeof (vis ));

} 

A:

	return 0;
	
}
```你这里有座位吗?
{{ vote && vote.total.up }}