已疯
查看原帖
已疯
1237568
xyr6789楼主2025/6/24 11:20
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,m,s=0;
	char a[1001][1001];
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(a[i][j]=='.'&&a[i][j+1]=='.'&&a[i][j-1]=='.'&&a[i+1][j]=='.'&&a[i-1][j]=='.'){
				s++;
			}
		}
	}
	int s1=s;
	int s2=s;
	for(int l=1;l<=n;l++){
		for(int k=1;k<=m;k++){
			if(a[l][k]=='#'){
				a[l][k]='.';
				if(a[l][k+1]=='.'&&a[l][k+2]=='.'&&a[l+1][k+1]=='.'&&a[l-1][k+1]=='.'){
					s++;
				}
				if(a[l+1][k]=='.'&&a[l+1][k+1]=='.'&&a[l+1][k-1]=='.'&&a[l+2][k]=='.'){
					s++;
				}
				if(a[l][k-1]=='.'&&a[l-1][k-1]=='.'&&a[l+1][k-1]=='.'&&a[l][k-2]=='.'){
					s++;
				}
				if(a[l-1][k+1]=='.'&&a[l-1][k-1]=='.'&&a[l-2][k]=='.'&&a[l-1][k]=='.'){
					s++;
				}
				if(a[l+1][k]=='.'&&a[l][k-1]=='.'&&a[l][k+1]=='.'&&a[l-1][k]=='.'){
					s++;
				}
				a[l][k]='#';
			}
			s1=max(s,s1);
			s=s2;
		}
	}
	cout<<s1;
	return 0;
}


2025/6/24 11:20
加载中...