{ "7468f01a": { "solver": "def solve_7468f01a(grid):\n rows, cols = len(grid), len(grid[0])\n min_r, max_r, min_c, max_c = rows, 0, cols, 0\n for r in range(rows):\n for c in range(cols):\n if grid[r][c] != 0:\n min_r = min(min_r, r)\n max_r = max(max_r, r)\n min_c = min(min_c, c)\n max_c = max(max_c, c)\n result = []\n for r in range(min_r, max_r + 1):\n row = grid[r][min_c:max_c + 1]\n result.append(row[::-1])\n return result\n", "test_output": [ [ [ 1, 1, 1, 8, 1, 1, 1, 1 ], [ 1, 8, 8, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 1, 1, 8, 8, 8 ], [ 1, 1, 1, 1, 1, 1, 1, 1 ], [ 1, 1, 1, 8, 8, 8, 1, 1 ], [ 1, 1, 1, 1, 1, 1, 1, 1 ] ] ], "all_pass": true }, "746b3537": { "solver": "def solve_746b3537(grid):\n deduped = [grid[0]]\n for r in range(1, len(grid)):\n if grid[r] != grid[r - 1]:\n deduped.append(grid[r])\n if not deduped:\n return deduped\n ncols = len(deduped[0])\n keep = [0]\n for c in range(1, ncols):\n col_curr = [deduped[r][c] for r in range(len(deduped))]\n col_prev = [deduped[r][c - 1] for r in range(len(deduped))]\n if col_curr != col_prev:\n keep.append(c)\n return [[row[c] for c in keep] for row in deduped]\n", "test_output": [ [ [ 1, 2, 3, 8, 4 ] ] ], "all_pass": true }, "75b8110e": { "solver": "def solve_75b8110e(grid):\n H, W = len(grid), len(grid[0])\n h, w = H // 2, W // 2\n TL = [[grid[r][c] for c in range(w)] for r in range(h)]\n TR = [[grid[r][c] for c in range(w, W)] for r in range(h)]\n BL = [[grid[r][c] for c in range(w)] for r in range(h, H)]\n BR = [[grid[r][c] for c in range(w, W)] for r in range(h, H)]\n result = [[0] * w for _ in range(h)]\n for r in range(h):\n for c in range(w):\n if TR[r][c] != 0:\n result[r][c] = TR[r][c]\n elif BL[r][c] != 0:\n result[r][c] = BL[r][c]\n elif BR[r][c] != 0:\n result[r][c] = BR[r][c]\n elif TL[r][c] != 0:\n result[r][c] = TL[r][c]\n return result\n", "test_output": [ [ [ 5, 9, 6, 6 ], [ 5, 9, 5, 5 ], [ 4, 5, 5, 5 ], [ 5, 9, 0, 0 ] ] ], "all_pass": true }, "760b3cac": { "solver": "def solve_760b3cac(grid):\n result = [row[:] for row in grid]\n h = len(grid)\n eight_rows = range(0, h // 2)\n arrow_rows = range(h // 2, h)\n\n bar_row = None\n bar_center = None\n for r in arrow_rows:\n fours = [c for c in range(len(grid[0])) if grid[r][c] == 4]\n if len(fours) == 3:\n bar_row = r\n bar_center = fours[1]\n break\n\n head_col = None\n for r in arrow_rows:\n if r == bar_row:\n continue\n fours = [c for c in range(len(grid[0])) if grid[r][c] == 4]\n if len(fours) == 1 and fours[0] != bar_center:\n head_col = fours[0]\n break\n\n if head_col is not None:\n direction = 'left' if head_col < bar_center else 'right'\n else:\n direction = 'left'\n\n col_start = bar_center - 1\n col_end = bar_center + 2\n\n for r in eight_rows:\n pattern = grid[r][col_start:col_end]\n reversed_pattern = pattern[::-1]\n if direction == 'left':\n dest_start = col_start - 3\n for i, v in enumerate(reversed_pattern):\n if v != 0:\n result[r][dest_start + i] = v\n else:\n dest_start = col_end\n for i, v in enumerate(reversed_pattern):\n if v != 0:\n result[r][dest_start + i] = v\n return result\n", "test_output": [ [ [ 0, 0, 0, 8, 0, 8, 8, 0, 8 ], [ 0, 0, 0, 0, 8, 8, 8, 8, 0 ], [ 0, 0, 0, 8, 0, 0, 0, 0, 8 ], [ 0, 0, 0, 0, 0, 4, 0, 0, 0 ], [ 0, 0, 0, 4, 4, 4, 0, 0, 0 ], [ 0, 0, 0, 0, 4, 0, 0, 0, 0 ] ] ], "all_pass": true }, "77fdfe62": { "solver": "def solve_77fdfe62(grid):\n H, W = len(grid), len(grid[0])\n border_rows = [r for r in range(H) if all(v == 1 for v in grid[r])]\n top_border = border_rows[0]\n bot_border = border_rows[-1]\n\n left_col = None\n right_col = None\n for c in range(W):\n if all(grid[r][c] == 1 for r in range(top_border, bot_border + 1)):\n if left_col is None:\n left_col = c\n right_col = c\n\n top_row = grid[top_border - 1]\n bot_row = grid[bot_border + 1]\n tl_color = tr_color = bl_color = br_color = 0\n\n for c in range(W):\n if top_row[c] not in (0, 1):\n if c <= left_col:\n tl_color = top_row[c]\n else:\n tr_color = top_row[c]\n for c in range(W):\n if bot_row[c] not in (0, 1):\n if c <= left_col:\n bl_color = bot_row[c]\n else:\n br_color = bot_row[c]\n\n inner_top = top_border + 1\n inner_bot = bot_border - 1\n inner_left = left_col + 1\n inner_right = right_col - 1\n inner_h = inner_bot - inner_top + 1\n inner_w = inner_right - inner_left + 1\n mid_r = inner_h / 2.0\n mid_c = inner_w / 2.0\n\n result = []\n for r in range(inner_h):\n row = []\n for c in range(inner_w):\n val = grid[inner_top + r][inner_left + c]\n if val == 8:\n if r < mid_r and c < mid_c:\n row.append(tl_color)\n elif r < mid_r and c >= mid_c:\n row.append(tr_color)\n elif r >= mid_r and c < mid_c:\n row.append(bl_color)\n else:\n row.append(br_color)\n else:\n row.append(0)\n result.append(row)\n return result\n", "test_output": [ [ [ 0, 3, 3, 0, 0, 0 ], [ 3, 3, 3, 0, 4, 0 ], [ 0, 0, 3, 0, 4, 0 ], [ 0, 7, 0, 5, 5, 0 ], [ 7, 7, 0, 5, 0, 5 ], [ 0, 7, 0, 0, 5, 0 ] ] ], "all_pass": true }, "794b24be": { "solver": "def solve_794b24be(grid):\n count = sum(grid[r][c] for r in range(3) for c in range(3))\n result = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]\n fill_order = [(0, 0), (0, 1), (0, 2), (1, 1)]\n for i in range(min(count, len(fill_order))):\n r, c = fill_order[i]\n result[r][c] = 2\n return result\n", "test_output": [ [ [ 2, 2, 0 ], [ 0, 0, 0 ], [ 0, 0, 0 ] ], [ [ 2, 2, 2 ], [ 0, 2, 0 ], [ 0, 0, 0 ] ] ], "all_pass": true }, "7b7f7511": { "solver": "def solve_7b7f7511(grid):\n H, W = len(grid), len(grid[0])\n for th in range(1, H + 1):\n if H % th != 0:\n continue\n for tw in range(1, W + 1):\n if W % tw != 0:\n continue\n tile = [grid[r][:tw] for r in range(th)]\n valid = True\n for r in range(H):\n for c in range(W):\n if grid[r][c] != tile[r % th][c % tw]:\n valid = False\n break\n if not valid:\n break\n if valid and (th < H or tw < W):\n return tile\n return grid\n", "test_output": [ [ [ 5, 4, 5 ], [ 4, 5, 4 ], [ 6, 6, 4 ], [ 2, 6, 2 ] ] ], "all_pass": true }, "7c008303": { "solver": "def solve_7c008303(grid):\n H, W = len(grid), len(grid[0])\n\n eight_row = None\n for r in range(H):\n if all(v == 8 for v in grid[r]):\n eight_row = r\n break\n\n eight_col = None\n for c in range(W):\n if all(grid[r][c] == 8 for r in range(H)):\n eight_col = c\n break\n\n regions = [\n (0, eight_row, 0, eight_col),\n (0, eight_row, eight_col + 1, W),\n (eight_row + 1, H, 0, eight_col),\n (eight_row + 1, H, eight_col + 1, W),\n ]\n\n key_data = None\n pattern_data = None\n\n for r1, r2, c1, c2 in regions:\n qh, qw = r2 - r1, c2 - c1\n q = [[grid[r][c] for c in range(c1, c2)] for r in range(r1, r2)]\n has_content = any(q[r][c] != 0 for r in range(qh) for c in range(qw))\n if not has_content:\n continue\n if key_data is None:\n key_data = q\n else:\n pattern_data = q\n\n key_h, key_w = len(key_data), len(key_data[0])\n pat_h, pat_w = len(pattern_data), len(pattern_data[0])\n\n if key_h * key_w > pat_h * pat_w:\n key_data, pattern_data = pattern_data, key_data\n key_h, key_w = len(key_data), len(key_data[0])\n pat_h, pat_w = len(pattern_data), len(pattern_data[0])\n\n tile_h = pat_h // key_h\n tile_w = pat_w // key_w\n\n pat_color = 0\n for r in range(pat_h):\n for c in range(pat_w):\n if pattern_data[r][c] != 0:\n pat_color = pattern_data[r][c]\n break\n if pat_color:\n break\n\n result = [[0] * pat_w for _ in range(pat_h)]\n for kr in range(key_h):\n for kc in range(key_w):\n color = key_data[kr][kc]\n for tr in range(tile_h):\n for tc in range(tile_w):\n pr = kr * tile_h + tr\n pc = kc * tile_w + tc\n if pattern_data[pr][pc] == pat_color:\n result[pr][pc] = color\n return result\n", "test_output": [ [ [ 0, 0, 0, 1, 0, 0 ], [ 2, 2, 0, 1, 0, 1 ], [ 0, 2, 0, 1, 0, 1 ], [ 0, 4, 4, 7, 0, 0 ], [ 0, 4, 0, 0, 0, 7 ], [ 0, 0, 4, 0, 0, 0 ] ] ], "all_pass": true }, "7ddcd7ec": { "solver": "def solve_7ddcd7ec(grid):\n H, W = len(grid), len(grid[0])\n result = [row[:] for row in grid]\n\n color = 0\n cells = set()\n for r in range(H):\n for c in range(W):\n if grid[r][c] != 0:\n color = grid[r][c]\n cells.add((r, c))\n\n if not cells:\n return result\n\n body = set()\n for r, c in cells:\n if (r+1, c) in cells and (r, c+1) in cells and (r+1, c+1) in cells:\n body = {(r, c), (r+1, c), (r, c+1), (r+1, c+1)}\n break\n\n appendages = cells - body\n\n for ar, ac in appendages:\n min_dist = float('inf')\n nearest = None\n for br, bc in body:\n d = abs(ar - br) + abs(ac - bc)\n if d < min_dist:\n min_dist = d\n nearest = (br, bc)\n\n dr = ar - nearest[0]\n dc = ac - nearest[1]\n\n cr, cc = ar + dr, ac + dc\n while 0 <= cr < H and 0 <= cc < W:\n result[cr][cc] = color\n cr += dr\n cc += dc\n\n return result\n", "test_output": [ [ [ 0, 0, 0, 0, 0, 0, 0, 0, 8, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 8, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 8, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 8, 0, 0, 0, 0 ], [ 0, 0, 0, 8, 8, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 8, 8, 0, 0, 0, 0, 0 ], [ 0, 0, 8, 0, 0, 8, 0, 0, 0, 0 ], [ 0, 8, 0, 0, 0, 0, 8, 0, 0, 0 ], [ 8, 0, 0, 0, 0, 0, 0, 8, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 8, 0 ] ] ], "all_pass": true }, "7e0986d6": { "solver": "def solve_7e0986d6(grid):\n H, W = len(grid), len(grid[0])\n counts = Counter()\n for r in range(H):\n for c in range(W):\n if grid[r][c] != 0:\n counts[grid[r][c]] += 1\n main_color = counts.most_common(1)[0][0]\n noise_color = counts.most_common(2)[1][0] if len(counts) > 1 else None\n\n result = [row[:] for row in grid]\n if noise_color:\n for r in range(H):\n for c in range(W):\n if result[r][c] == noise_color:\n nn = 0\n for dr, dc in [(-1,0),(1,0),(0,-1),(0,1)]:\n nr, nc = r+dr, c+dc\n if 0 <= nr < H and 0 <= nc < W and grid[nr][nc] != 0:\n nn += 1\n if nn >= 2:\n result[r][c] = main_color\n else:\n result[r][c] = 0\n return result\n", "test_output": [ [ [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 0 ], [ 0, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 5, 5, 5, 5, 0 ], [ 0, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 5, 5, 5, 5, 0 ], [ 0, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 5, 5, 5, 5, 0 ], [ 0, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 5, 5, 5, 5, 0 ], [ 0, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 5, 5, 5, 5, 0 ], [ 0, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0 ] ] ], "all_pass": true } }