wa在#4,#10
查看原帖
wa在#4,#10
1233392
RY111楼主2024/8/13 10:39

是noway输出有问题吗

#include <iostream>
#include <queue>
#include <cstring>
#define pii pair<int,int>
#define int long long
using namespace std;
const int maxn=2010;
int st[maxn][maxn];
int dx[]= {0,0,1,-1};
int dy[]= {1,-1,0,0};
int n,m;
string g[maxn];
void bfs(int x,int y)
{
	queue<pii> q;
	memset(st,-1,sizeof st);
	q.push({x,y});
	st[x][y]=0;
	while(q.size())
	{
		int a1=q.front().first;
		int b1=q.front().second;

		q.pop();
		for(int i=0; i<4; i++ )
		{
			int a=a1+dx[i];
			int b=b1+dy[i];
			if(a<0||b<0||a>2000||b>2000)continue;
			if(st[a][b]!=-1)continue;
			if(g[a][b]=='#')continue;

			st[a][b]=st[a1][b1]+1;
			if(g[a][b]=='d')
			{
			
					cout<< st[a][b]<<endl;
					return ;
				
			}
			q.push({a,b});
		}
	}
	
	cout<<"No Way!"<<endl;
	return;
}
signed main()
{
	cin>>n>>m;
	for(int i=0; i<n; i++)
		cin>>g[i];
	for(int i=0; i<n; i++)
	{
		for(int j=0; j<n; j++)
		{
			if(g[i][j]=='m')
			{
				bfs(i,j);
				return 0 ;
			}
		}

	}
}
2024/8/13 10:39
加载中...