(r, c)
| 4 | visit = set() |
| 5 | |
| 6 | def dfs(r, c): |
| 7 | if ( |
| 8 | r < 0 |
| 9 | or r == ROWS |
| 10 | or c < 0 |
| 11 | or c == COLS |
| 12 | or grid[r][c] == 0 |
| 13 | or (r, c) in visit |
| 14 | ): |
| 15 | return 0 |
| 16 | visit.add((r, c)) |
| 17 | return 1 + dfs(r + 1, c) + dfs(r - 1, c) + dfs(r, c + 1) + dfs(r, c - 1) |
| 18 | |
| 19 | area = 0 |
| 20 | for r in range(ROWS): |