Submission

Status:

[PPPPPPPPPPPPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: winwin1054

Problemset: เกาะที่ใหญ่ที่สุด

Language: cpp

Time: 0.007 second

Submitted On: 2026-08-15 21:20:54

#include <bits/stdc++.h>
using namespace std;

int n,m,r,maxx=0;
char grid[171][171];

int count_island(int r,int c) {
	if(r<0||r>=n||c<0||c>=m) return 0;
	if(grid[r][c]=='0') return 0;
	grid[r][c] = '0';
	return 1 + count_island(r+1,c) + count_island(r-1,c) + count_island(r,c-1) + count_island(r,c+1);
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    cin >> n >> m;

    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            cin >> grid[i][j];
        }
    }
    for(int i=0;i<n;i++) {
    	for(int j=0;j<m;j++) {
    		if(grid[i][j=='1']) {
    			r = count_island(i,j);
    			maxx = max(r,maxx);
			}
		}
	}
	cout << maxx;

    return 0;
}