{ "42a50994": "def solve_42a50994(grid):\n h, w = len(grid), len(grid[0])\n visited = [[False]*w for _ in range(h)]\n components = []\n for r in range(h):\n for c in range(w):\n if grid[r][c] != 0 and not visited[r][c]:\n comp = [(r,c)]\n visited[r][c] = True\n queue = [(r,c)]\n while queue:\n cr, cc = queue.pop(0)\n for dr in [-1,0,1]:\n for dc in [-1,0,1]:\n if dr==0 and dc==0: continue\n nr, nc = cr+dr, cc+dc\n if 0<=nr= 2:\n for r,c in comp:\n out[r][c] = grid[r][c]\n return out\n", "4347f46a": "def solve_4347f46a(grid):\n h, w = len(grid), len(grid[0])\n out = [row[:] for row in grid]\n visited = [[False]*w for _ in range(h)]\n for r in range(h):\n for c in range(w):\n if grid[r][c] != 0 and not visited[r][c]:\n color = grid[r][c]\n comp = [(r,c)]\n visited[r][c] = True\n queue = [(r,c)]\n while queue:\n cr,cc = queue.pop(0)\n for dr,dc in [(-1,0),(1,0),(0,-1),(0,1)]:\n nr,nc = cr+dr, cc+dc\n if 0<=nr minr and cr < maxr and cc > minc and cc < maxc:\n out[cr][cc] = 0\n return out\n", "444801d8": "def solve_444801d8(grid):\n h, w = len(grid), len(grid[0])\n out = [row[:] for row in grid]\n visited = [[False]*w for _ in range(h)]\n boxes = []\n for r in range(h):\n for c in range(w):\n if grid[r][c] == 1 and not visited[r][c]:\n comp = set()\n queue = [(r,c)]\n visited[r][c] = True\n while queue:\n cr,cc = queue.pop(0)\n comp.add((cr,cc))\n for dr,dc in [(-1,0),(1,0),(0,-1),(0,1)]:\n nr,nc = cr+dr,cc+dc\n if 0<=nr 0:\n for c in range(minc, maxc+1):\n out[minr-1][c] = color\n if bot_gap:\n for c in range(minc, maxc+1):\n if (maxr, c) not in box:\n out[maxr][c] = color\n if maxr < h-1:\n for c in range(minc, maxc+1):\n out[maxr+1][c] = color\n if left_gap:\n for r in range(minr, maxr+1):\n if (r, minc) not in box:\n out[r][minc] = color\n if minc > 0:\n for r in range(minr, maxr+1):\n out[r][minc-1] = color\n if right_gap:\n for r in range(minr, maxr+1):\n if (r, maxc) not in box:\n out[r][maxc] = color\n if maxc < w-1:\n for r in range(minr, maxr+1):\n out[r][maxc+1] = color\n return out\n", "445eab21": "def solve_445eab21(grid):\n h, w = len(grid), len(grid[0])\n visited = [[False]*w for _ in range(h)]\n rects = []\n for r in range(h):\n for c in range(w):\n if grid[r][c] != 0 and not visited[r][c]:\n color = grid[r][c]\n comp = set()\n queue = [(r,c)]\n visited[r][c] = True\n while queue:\n cr,cc = queue.pop(0)\n comp.add((cr,cc))\n for dr,dc in [(-1,0),(1,0),(0,-1),(0,1)]:\n nr,nc = cr+dr,cc+dc\n if 0<=nr