不对啊,dalao们救救菜狗
查看原帖
不对啊,dalao们救救菜狗
823725
EZAIJ楼主2023/3/26 13:59
#include<bits/stdc++.h>
using namespace std;

typedef pair<int,int> PII;
#define x first
#define y second
#define N 110

int k,n,m,cnt[N][N],ans;
char g[N][N];
PII q[N*N];
int dx[4]={-1,1,0,0},dy[4]={0,0,1,-1};

void bfs(int x,int y)
{
	int ll=0,rr=0;
	cnt[x][y]=1;
	q[0]={x,y};
	while(ll<=rr)
	{
		PII t=q[ll++];
		for(int i=0;i<4;i++)
		{
			int a=t.x+dx[i],b=t.y+dy[i];
			if(a<0||a>=n||b<0||b>=m) continue;
			if(cnt[a][b]) continue;
			if(g[a][b]=='#') continue;
			cnt[a][b]=1;
			q[++rr]={a,b};
			ans++;
		}
	}
}

int main()
{
	scanf("%d%d%d",&n,&m,&k);
	for(int i=0;i<n;i++)
		scanf("%s",g[i]);
	for(int i=0;i<n;i++)
		for(int j=0;j<m;j++)
			if(g[i][j]=='.'&&!cnt[i][j])
				bfs(i,j);
	printf("%d",ans);
	return 0;
}
2023/3/26 13:59
加载中...