2
def minDays(self, grid: List[List[int]]) -> int:3
rows, cols = len(grid), len(grid[0])5
disc_time = [[-1 for _ in range(cols)] for _ in range(rows)]6
low_value = [[-1 for _ in range(cols)] for _ in range(rows)]7
parents = [[(-1, -1) for _ in range(cols)] for _ in range(rows)]8
is_ap = [[False for _ in range(cols)] for _ in range(rows)]9
dirs = [(1, 0), (0, 1), (-1, 0), (0, -1)]19
disc_time[i][j] = time20
low_value[i][j] = time25
ni, nj = i + di, j + dj26
if not (0 <= ni < rows) or not (0 <= nj < cols):31
if disc_time[ni][nj] == -1: # not visited33
parents[ni][nj] = (i, j)35
low_value[i][j] = min(low_value[i][j], low_value[ni][nj])37
if parents[i][j] == (-1, -1) and child > 1:42
parents[i][j] != (-1, -1)43
and low_value[ni][nj] >= disc_time[i][j]47
elif (ni, nj) != parents[i][j]:48
low_value[i][j] = min(low_value[i][j], disc_time[ni][nj])56
if disc_time[i][j] == -1 and grid[i][j] == 1: