0分求助,样例过了
查看原帖
0分求助,样例过了
990838
levy3304楼主2023/10/9 22:11
#include<bits/stdc++.h>
using namespace std;
int n,m,a[505][505],ans=0;
int dx[4]={-1,0,0,1},dy[4]={0,-1,1,0};
void dfs(int x,int y){
	if(x<=0||x>n||y<=0||y>m) return ;
	if(a[x][y]) return ;
	a[x][y]=2;
	for(int i=0;i<4;i++) dfs(x+dx[i],y+dy[i]);
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			char c;
			cin>>c;
			if(c=='*') a[i][j]=1;
			else a[i][j]=0;
		}
	}
	dfs(1,1);
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(!a[i][j]) ans++;
		}
	}
	cout<<ans;
	return 0;
}
2023/10/9 22:11
加载中...