1 条题解

  • 1
    @ 2025-10-19 8:01:00

    #include<bits/stdc++.h>

    #define ll long long

    #define un unsigned

    #define int long long

    #define db double

    #define st string

    #define ct const

    #define xh(a,b,c) for(int a=b;a<=c;a++)

    #define wx while(1)

    #define dn(a,b,c) for(int a=b;a>=c;a--)

    using namespace std;

    int n,m;

    char a[1010][1010];

    int tx[]={1,-1,0,0};

    int ty[]={0,0,1,-1};

    bool f[1010][1010];

    int ans,maxn;

    void dfs(int x,int y){

    f[x][y]=1;

    ++ans;

    xh(i,0,3){

    int X=x+tx[i],Y=y+ty[i];

    if(a[X][Y]=='*'&&!f[X][Y])dfs(X,Y);

    }

    }

    signed main(){

    cin>>m>>n;

    xh(i,1,n)xh(j,1,m)cin>>a[i][j];

    xh(i,1,n)xh(j,1,m)if(a[i][j]=='*'&&!f[i][j]){

    ans=0;

    dfs(i,j);

    maxn=max(maxn,ans);

    }

    cout<<maxn;

    return 0;

    } ~~~~

    • 1

    信息

    ID
    655
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    (无)
    递交数
    49
    已通过
    29
    上传者