nice题解
2026-03-10 22:56:54
发布于:广东
18阅读
0回复
0点赞
教程看:点击
#include<bits/stdc++.h>
using namespace std;
char ma[1001][1001];
int a[1008][1234];
int d[4][2]={{-1,0},{1,0},{0,-1},{0,1}};
int main(){
int n,m,ans=0;
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>ma[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
int num=0,p=-1;
for(int k=0;k<=3;k++){
if(ma[i+d[k][0]][j+d[k][1]]=='#'){
num++;
p=k;
}
}
if(ma[i][j]=='.'&&num==1)a[i+d[p][0]][j+d[p][1]]++;
else if(ma[i][j]=='.'&&num==0) ans++;
else if(ma[i][j]=='#'&&num==0) a[i][j]++;
}
}
int mx=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
mx=max(mx,a[i][j]);
}
}
cout<<ans+mx<<endl;
}
这里空空如也







有帮助,赞一个