4 条题解

  • 0
    @ 2025-12-8 15:28:32

    #include<bits/stdc++.h> using namespace std; long long n,fx[5]={0,-1,1,0,0},fy[5]={0,0,0,-1,1},s,mx,m; bool f[1005][1005]; char a[1005][1005]; void dfs(int x,int y){ for(int i=1;i<=4;i++){ int tx=x+fx[i]; int ty=y+fy[i]; if(tx>=1&&tx<=n&&ty>=1&&ty<=m&&f[tx][ty]0&&a[tx][ty]''){ f[tx][ty]=1; s++; dfs(tx,ty); } } } int main(){ cin>>m>>n; 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]==''&&f[i][j]==0){ s=1; f[i][j]=1; dfs(i,j); mx=max(mx,s); } } } cout<<mx; }

    信息

    ID
    370
    时间
    2000ms
    内存
    32MiB
    难度
    8
    标签
    递交数
    14
    已通过
    7
    上传者