#include <bits/stdc++.h> using namespace std; int visit(vector<vector<int>>& matrix, int i, int j) { int ret=0; if(i<0 || j<0 || i>=matrix.size() || j>=matrix[0].size()) return ret; if(matrix[i][j]) { ++ ret; matrix[i][j] = 0; } else return ret; for(int x=-1; x<=1; ++x) for(int y=-1; y<=1; ++y) if(x!=0 || y!=0) ret += visit(matrix, i+x, j+y); return ret; } int main() { int m, n; int p,q; p=0, q=0; scanf("%d,%d", &m, &n); { vector<vector<int> > matrix(m, vector<int>(n, 0)); for(int i=0; i<m; ++i) { scanf("%d", &matrix[i][0]); for(int j=1; j<n; ++j) { scanf(",%d", &matrix[i][j]); } } for(int i=0; i<m; ++i) { for(int j=0; j<n; ++j) { if(matrix[i][j]==1) { q = max(q, visit(matrix, i, j)); ++p; } } } printf("%d,%d", p, q); } return 0; }
点赞 1

相关推荐

牛客网
牛客企业服务