Submission

Status:

[PPPPPPPPPPPPPPPPPPPPPPPPP]

Subtask/Task Score:

{100/100}

Score: 100

User: SnowAveNode

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

Language: python

Time: 0.050 second

Submitted On: 2026-04-10 18:27:15

import sys
input = sys.stdin.readline

n, m = map(int, input().split())
grid = [list(input().strip()) for _ in range(n)]
ans = 0

for i in range(n):
    for j in range(m):
        if grid[i][j] == '1':
            stack = [(i, j)]
            grid[i][j] = '0'
            area = 1

            while stack:
                y, x = stack.pop()

                for dy, dx in [(-1, 0), (1, 0), (0, -1), (0, 1)]:
                    ny, nx = y + dy, x + dx

                    if 0 <= ny < n and 0 <= nx < m and grid[ny][nx] == '1':
                        grid[ny][nx] = '0'
                        area += 1
                        stack.append((ny, nx))
            
            ans = max(ans, area)

print(ans)