#include<bits/stdc++.h> using namespace std; int m, n, cnt = 0, maxc = -1; char Map[128][128] = {};

void dfs(int x, int y); int main(){ scanf("%d %d", &m, &n);

for(int i = 0; i < m; ++i)
    for(int j = 0; j < n; ++j)
        cin >> Map[i][j];

for(int i = 0; i < m; ++i){
    for(int j = 0; j < n; ++j){
        if(Map[i][j] == '1'){
            cnt = 0;
            dfs(i, j);
            maxc = max(cnt, maxc);
        }
    }
}
cout << maxc;
return 0;

}

void dfs(int x, int y){ ++cnt; Map[x][y] = '!'; if(x-1 >= 0 && Map[x-1][y] == '1') dfs(x-1, y); if(x+1 < m && Map[x+1][y] == '1') dfs(x+1, y); if(y-1 >= 0 && Map[x][y-1] == '1') dfs(x, y-1); if(y+1 < n && Map[x][y+1] == '1') dfs(x, y+1); } 此代码没有问题。


原文地址: https://www.cveoy.top/t/topic/oXKo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录