求助,样例已过
查看原帖
求助,样例已过
180406
lilong楼主2020/8/27 15:03
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int n,m,ans,h,t,qx[100001],qy[100001];
char map[1001][1001]={'0'};
int dx[5]={0,0,1,0,-1};
int dy[5]={0,1,0,-1,0};
int main()
{
	cin>>m>>n;
	for(int i=1;i<=m;i++)
		for(int j=1;j<=n;j++)
			cin>>map[i][j];
	h=0;
	t=1;
	qx[t]=0;
	qy[t]=0;
	while(h<t)
	{
	    h++;
	    for(int i=1;i<=4;i++)
	    {
	        int xx=qx[h]+dx[i];
	        int yy=qy[h]+dy[i];
	        if(xx>=0&&xx<=m+1&&yy>=0&&yy<=n+1&&map[xx][yy]=='0')
	        {
	            map[xx][yy]='1';
	            t++;
	            qx[t]=xx;
	            qy[t]=yy;
	        }
	    }
	}
	for(int i=1;i<=m;i++)
		for(int j=1;j<=n;j++)
			if(map[i][j]=='0')
				ans++;
	cout<<ans;
	return 0;
} 
2020/8/27 15:03
加载中...