全部评论 1

  • #include<bits/stdc++.h>
    using namespace std;
    char s[1010][1010];
    int n,m,d[5][2]={{0,0},{-1,0},{1,0},{0,-1},{0,1}};
    bool ok(int i,int j){
    for(int k=0;k<5;k++){
    int x=i+d[k][0],y=j+d[k][1];
    if(s[x][y]!='.')return 0;
    }return 1;
    }
    int main() {
    cin>>n>>m;
    for (int i=0;i<=n+1;i++)for(int j=0;j<=m+1;j++)s[i][j]='.';
    for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)cin>>s[i][j];
    int ans=0;
    for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(ok(i,j))ans++;
    int res=0;
    for(int i=1;i<=n;i++){
    for(int j=1;j<=m;j++){
    int cnt=0;
    if(s[i][j]=='#'){
    s[i][j]='.';
    for(int k=0;k<5;k++){
    int x=i+d[k][0],y=j+d[k][1];
    if(ok(x,y))cnt++;
    }res=max(res,ans+cnt);
    s[i][j]='#';
    }
    }
    }cout<<res;
    return 0;
    }
    复制给你了哟😊

    3天前 来自 浙江

    0
暂无数据

提交答案之后,这里将显示提交结果~

首页