90,1RE求调
查看原帖
90,1RE求调
1473163
XZX20140718楼主2025/7/22 17:19
#include<bits/stdc++.h>
using namespace std;
int n,m,l[1005][1005],sum;
char k[1005][1005];
int _count(int x,int y){
	int cnt=0;
	if(k[x-1][y]=='#') cnt++;
	if(k[x+1][y]=='#') cnt++;
	if(k[x][y-1]=='#') cnt++;
	if(k[x][y+1]=='#') cnt++;
	return cnt;
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>k[i][j];}}
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			if(k[i][j]=='#')
			{
				if(k[i-1][j]=='.'&&_count(i-1,j)==1) l[i][j]++;
				if(k[i+1][j]=='.'&&_count(i+1,j)==1) l[i][j]++;
				if(k[i][j-1]=='.'&&_count(i,j-1)==1) l[i][j]++;
				if(k[i][j+1]=='.'&&_count(i,j+1)==1) l[i][j]++;
			}
	int i1,j1,d=0;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			if(l[i][j]>d)
			{
				d=l[i][j];
				i1=i;
				j1=j;
			}
	k[i1][j1]='.';
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			if(k[i][j]!='#'&&k[i-1][j]!='#'&&k[i+1][j]!='#'&&k[i][j-1]!='#'&&k[i][j+1]!='#')sum++;
	cout<<sum;
}
2025/7/22 17:19
加载中...