(i, j)
| 3 | visit = set() |
| 4 | |
| 5 | def dfs(i, j): |
| 6 | if i >= len(grid) or j >= len(grid[0]) or i < 0 or j < 0 or grid[i][j] == 0: |
| 7 | return 1 |
| 8 | if (i, j) in visit: |
| 9 | return 0 |
| 10 | |
| 11 | visit.add((i, j)) |
| 12 | perim = dfs(i, j + 1) |
| 13 | perim += dfs(i + 1, j) |
| 14 | perim += dfs(i, j - 1) |
| 15 | perim += dfs(i - 1, j) |
| 16 | return perim |
| 17 | |
| 18 | for i in range(len(grid)): |
| 19 | for j in range(len(grid[0])): |