全WA求调
查看原帖
全WA求调
1430242
mtczzz楼主2024/8/23 18:02
#include<iostream>
using namespace std;
int x,y,ans;
int a[505][505];
void dfs(int n,int m){
	a[n][m]=1;
	if(a[n-1][m]==0&&n-1>=0)dfs(n-1,m);
	if(a[n+1][m]==0&&n+1<x)dfs(n+1,m);
	if(a[n][m-1]==0&&m-1>=0)dfs(n,m-1);
	if(a[n][m+1]==0&&m+1<y)dfs(n,m+1);
	return;
}
int main(){
	cin>>x>>y;
	char e;
	for(int i=0;i<x;i++){
		for(int j=0;j<y;j++){
			cin>>e;
			if(e=='*')a[i][j]=1;
			else a[i][j]=0;
		}
	}
	for(int i=0;i<x;i++){
		if(a[i][0]==0)dfs(i,0);
		if(a[i][x-1]==0)dfs(i,x-1);
	}
	for(int i=0;i<y;i++){
		if(a[0][i]==0)dfs(0,i);
		if(a[y-1][i]==0)dfs(y-1,i);
	}
	int s=0;
	for(int i=0;i<x;i++){
		for(int j=0;j<y;j++){
			if(a[i][j]==0)s++;
		}
	}
	cout<<s;
}
2024/8/23 18:02
加载中...