2 条题解

  • 0
    @ 2024-3-10 11:05:21

    就是普通的深搜 (其实也可以直接输出测试点ing

    #include <bits/stdc++.h>
    using namespace std;
    char a[110][110];
    int n,m,ma,c;
    int fx[5]={0,0,1,0,-1};
    int fy[5]={0,1,0,-1,0};
    bool f=false;
    void dfs(int x,int y,char s){
    	a[x][y]='0';
    	int tx,ty;
    	for(int i=1;i<=4;i++){
    		tx=fx[i]+x;
    		ty=fy[i]+y;
    		if(tx>=1&&tx<=n&&ty>=1&&ty<=n&&a[tx][ty]==s){
    			c++;
    			dfs(tx,ty,s);
    		}
    	}
    }
    int main(){
    	cin>>n>>m;
    	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]!='0'){
    				dfs(i,j,a[i][j]);
    				ma=max(ma,c);
    			}
    		}
    	}
    	cout<<ma;
    	return 0;
    }
    
    • 0
      @ 2021-8-19 8:37:22

      🐄都是USACO的题吧。。。也只有一个测试点 🐶

      • 1

      信息

      ID
      380
      时间
      1000ms
      内存
      64MiB
      难度
      5
      标签
      递交数
      56
      已通过
      24
      上传者