h4-polytopic-attention / data /arc_python_solutions_b4.json
grapheneaffiliates's picture
Upload data/arc_python_solutions_b4.json with huggingface_hub
4d05d5c verified
{
"2dee498d": "def solve(grid):\n from collections import Counter\n h, w = len(grid), len(grid[0])\n n = 3\n tw = w // n\n out = [[0]*tw for _ in range(h)]\n for r in range(h):\n for c in range(tw):\n vals = [grid[r][j*tw + c] for j in range(n)]\n cnt = Counter(vals)\n out[r][c] = cnt.most_common(1)[0][0]\n return out",
"31aa019c": "def solve(grid):\n from collections import Counter\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 unique_pos = None\n unique_color = None\n for r in range(h):\n for c in range(w):\n v = grid[r][c]\n if v != 0 and counts[v] == 1:\n unique_color = v\n unique_pos = (r, c)\n out = [[0]*w for _ in range(h)]\n if unique_pos:\n ur, uc = unique_pos\n out[ur][uc] = unique_color\n for dr in [-1, 0, 1]:\n for dc in [-1, 0, 1]:\n nr, nc = ur+dr, uc+dc\n if 0 <= nr < h and 0 <= nc < w and (dr != 0 or dc != 0):\n out[nr][nc] = 2\n return out",
"321b1fc6": "def solve(grid):\n h, w = len(grid), len(grid[0])\n visited = [[False]*w for _ in range(h)]\n def flood(r, c):\n cells = []\n stack = [(r, c)]\n while stack:\n cr, cc = stack.pop()\n if 0 <= cr < h and 0 <= cc < w and not visited[cr][cc] and grid[cr][cc] == 8:\n visited[cr][cc] = True\n cells.append((cr, cc))\n for dr, dc in [(-1,0),(1,0),(0,-1),(0,1)]:\n stack.append((cr+dr, cc+dc))\n return cells\n eight_groups = []\n for r in range(h):\n for c in range(w):\n if grid[r][c] == 8 and not visited[r][c]:\n eight_groups.append(flood(r, c))\n template_cells = [(r, c, grid[r][c]) for r in range(h) for c in range(w) if grid[r][c] != 0 and grid[r][c] != 8]\n template_norm = {}\n if template_cells:\n min_r = min(r for r, c, v in template_cells)\n min_c = min(c for r, c, v in template_cells)\n template_norm = {(r - min_r, c - min_c): v for r, c, v in template_cells}\n out = [[0]*w for _ in range(h)]\n for group in eight_groups:\n min_r = min(r for r, c in group)\n min_c = min(c for r, c in group)\n for r, c in group:\n dr, dc = r - min_r, c - min_c\n if (dr, dc) in template_norm:\n out[r][c] = template_norm[(dr, dc)]\n return out",
"3618c87e": "def solve(grid):\n h, w = len(grid), len(grid[0])\n out = [row[:] for row in grid]\n for c in range(w):\n for r in range(h):\n if grid[r][c] == 1:\n out[r][c] = 0\n out[h-1][c] = 1\n return out",
"363442ee": "def solve(grid):\n h, w = len(grid), len(grid[0])\n out = [row[:] for row in grid]\n pattern = [grid[r][:3] for r in range(3)]\n for r in range(h):\n for c in range(4, w):\n if grid[r][c] == 1:\n br = (r // 3) * 3\n bc = ((c - 4) // 3) * 3 + 4\n for dr in range(3):\n for dc in range(3):\n out[br + dr][bc + dc] = pattern[dr][dc]\n return out",
"36d67576": "def solve(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 def flood4(r, c):\n cells = []\n stack = [(r, c)]\n while stack:\n cr, cc = stack.pop()\n if 0 <= cr < h and 0 <= cc < w and not visited[cr][cc] and grid[cr][cc] == 4:\n visited[cr][cc] = True\n cells.append((cr, cc))\n for dr, dc in [(-1,0),(1,0),(0,-1),(0,1)]:\n stack.append((cr+dr, cc+dc))\n return cells\n groups = []\n for r in range(h):\n for c in range(w):\n if grid[r][c] == 4 and not visited[r][c]:\n groups.append(sorted(flood4(r, c)))\n template_idx = None\n for gi, g in enumerate(groups):\n for r, c in g:\n for dr in range(-2, 3):\n for dc in range(-2, 3):\n nr, nc = r+dr, c+dc\n if 0 <= nr < h and 0 <= nc < w and grid[nr][nc] in (1, 3):\n template_idx = gi\n break\n if template_idx is not None: break\n if template_idx is not None: break\n if template_idx is not None: break\n def find_adj_2(g):\n for r, c in g:\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] == 2:\n return (nr, nc)\n return None\n tg = groups[template_idx]\n t2 = find_adj_2(tg)\n t_rel = tuple(sorted((r - t2[0], c - t2[1]) for r, c in tg))\n t_decos = []\n for r in range(h):\n for c in range(w):\n if grid[r][c] in (1, 3):\n if any(abs(r-gr) <= 2 and abs(c-gc) <= 2 for gr, gc in tg):\n t_decos.append((r - t2[0], c - t2[1], grid[r][c]))\n transforms = [\n lambda r,c: (r,c), lambda r,c: (c,-r), lambda r,c: (-r,-c), lambda r,c: (-c,r),\n lambda r,c: (r,-c), lambda r,c: (-r,c), lambda r,c: (c,r), lambda r,c: (-c,-r),\n ]\n for gi, g in enumerate(groups):\n if gi == template_idx: continue\n g2 = find_adj_2(g)\n g_rel = tuple(sorted((r - g2[0], c - g2[1]) for r, c in g))\n for fn in transforms:\n transformed = tuple(sorted(fn(r,c) for r,c in t_rel))\n if transformed == g_rel:\n for dr, dc, v in t_decos:\n nr, nc = fn(dr, dc)\n ar, ac = nr + g2[0], nc + g2[1]\n if 0 <= ar < h and 0 <= ac < w:\n out[ar][ac] = v\n break\n return out",
"39a8645d": "def solve(grid):\n from collections import defaultdict\n h, w = len(grid), len(grid[0])\n visited = [[False]*w for _ in range(h)]\n color_groups = defaultdict(list)\n def flood(r, c, color):\n cells = []\n stack = [(r, c)]\n while stack:\n cr, cc = stack.pop()\n if 0 <= cr < h and 0 <= cc < w and not visited[cr][cc] and grid[cr][cc] == color:\n visited[cr][cc] = True\n cells.append((cr, cc))\n for dr, dc in [(-1,0),(1,0),(0,-1),(0,1),(-1,-1),(-1,1),(1,-1),(1,1)]:\n stack.append((cr+dr, cc+dc))\n return cells\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 color_groups[color].append(flood(r, c, color))\n best_color = max(color_groups.keys(), key=lambda c: len(color_groups[c]))\n g = color_groups[best_color][0]\n mr = min(r for r, c in g)\n mc = min(c for r, c in g)\n max_r = max(r for r, c in g) - mr\n max_c = max(c for r, c in g) - mc\n out = [[0]*(max_c+1) for _ in range(max_r+1)]\n for r, c in g:\n out[r-mr][c-mc] = best_color\n return out",
"3ac3eb23": "def solve(grid):\n h, w = len(grid), len(grid[0])\n out = [row[:] for row in grid]\n for c0 in range(w):\n if grid[0][c0] != 0:\n color = grid[0][c0]\n for r in range(h):\n if r % 2 == 0:\n out[r][c0] = color\n else:\n if c0 - 1 >= 0:\n out[r][c0 - 1] = color\n if c0 + 1 < w:\n out[r][c0 + 1] = color\n return out",
"3af2c5a8": "def solve(grid):\n h, w = len(grid), len(grid[0])\n out = [[0]*(2*w) for _ in range(2*h)]\n for r in range(h):\n for c in range(w):\n out[r][c] = grid[r][c]\n out[r][2*w-1-c] = grid[r][c]\n out[2*h-1-r][c] = grid[r][c]\n out[2*h-1-r][2*w-1-c] = grid[r][c]\n return out",
"3bd67248": "def solve(grid):\n h, w = len(grid), len(grid[0])\n out = [row[:] for row in grid]\n for r in range(h - 1):\n c = w - 1 - r\n if c > 0:\n out[r][c] = 2\n for c in range(1, w):\n out[h-1][c] = 4\n return out"
}