acgo题库
  • 首页
  • 题库
  • 题单
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • 更好

    #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; }

    userId_undefined

    复仇者_鲤鱼_Ace

    出道萌新时间刺客快乐小狗倔强青铜
    23阅读
    0回复
    1点赞
首页