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)