1 条题解

  • 0
    @ 2023-8-8 15:47:33
    #include<bits/stdc++.h>
    using namespace std;
    char a[1010][1010];
    int n,m,s,dx[]={0,0,1,-1},dy[]={1,-1,0,0},maxn;
    void dfs(int x,int y)
    {
    	s++;
    	a[x][y]='.';
    	for(int i=0;i<4;i++)
    	{
    		int xx=x+dx[i];
    		int yy=y+dy[i];
    		if(xx<=n&&yy<=m&&xx>=1&&yy>=1&&a[xx][yy]=='*')dfs(xx,yy);
    	}
    }
    int main()
    {
    	ios::sync_with_stdio(0);
    	cin.tie(0);
    	cout.tie(0);
    	cin>>m>>n;
    	for(int i=1;i<=n;i++)
    		cin>>a[i]+1;
    	for(int i=1;i<=n;i++)
    		for(int j=1;j<=m;j++)
    			if(a[i][j]=='*')
    			{
    				s=0;
    				dfs(i,j);
    				maxn=max(maxn,s);
    			}
    	cout<<maxn;
    	return 0;
    }
    
    • 1

    信息

    ID
    106
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    递交数
    15
    已通过
    8
    上传者