求求大佬看一下
  • 板块P1605 迷宫
  • 楼主lihuadai
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/15 23:11
  • 上次更新2023/11/16 11:27:40
查看原帖
求求大佬看一下
746919
lihuadai楼主2023/11/15 23:11

为什么会40分

#include <bits/stdc++.h>
using namespace std;
int ans=0,fx,fy,n,m;
bool a[13][13],g[12][12];
 int dx[4]={0,0,1,-1};
 int dy[4]={1,-1,0,0}; 
void bfs()
{
	queue<pair<int,int>>q;
	for(int i=0;i<=n;i++)
	for(int j=0;j<=m;j++)
	if(a[i][j])q.push({i,j});
	
	while(!q.empty())
	{
		auto c=q.front();q.pop();
		for(int i=0;i<4;i++)
		{
			int nx=c.first+dx[i];
			int ny=c.second+dy[i];
			if(0<nx&&nx<=n&&0<ny&&ny<=m)
			{
				if(g[nx][ny]||a[nx][ny])continue;
				q.push({nx,ny});
				a[c.first][c.second]=true;
				
		if (nx == fx && ny == fy)
		ans++;
			}
		 
		}	
		
	}
	
}


int main() {
	int t,sx,sy,x,y;
cin>>n>>m>>t;
cin>>sx>>sy>>fx>>fy;
a[sx][sy]=true;
while(t--)
{cin>>x>>y;
g[x][y]=true;
}
bfs();
cout<<ans;
return 0;
}

2023/11/15 23:11
加载中...