h4-polytopic-attention / data\arc2_solutions_retry4.json
grapheneaffiliates's picture
Upload data\arc2_solutions_retry4.json with huggingface_hub
81a7b05 verified
{
"0934a4d8": "def solve(grid):\n import numpy as np\n g = np.array(grid)\n H, W = g.shape\n eights = np.argwhere(g == 8)\n r_min, c_min = eights.min(axis=0)\n r_max, c_max = eights.max(axis=0)\n K_c = None\n for K in range(W, 2*W):\n ok = True; count = 0\n for r in range(H):\n for c in range(W):\n if g[r, c] == 8: continue\n c2 = K - c\n if 0 <= c2 < W and g[r, c2] != 8:\n count += 1\n if g[r, c] != g[r, c2]: ok = False; break\n if not ok: break\n if ok and count > 50: K_c = K; break\n K_r = None\n for K in range(H, 2*H):\n ok = True; count = 0\n for r in range(H):\n r2 = K - r\n if not (0 <= r2 < H): continue\n for c in range(W):\n if g[r, c] == 8 or g[r2, c] == 8: continue\n count += 1\n if g[r, c] != g[r2, c]: ok = False; break\n if not ok: break\n if ok and count > 50: K_r = K; break\n result = g.copy()\n for r in range(r_min, r_max + 1):\n for c in range(c_min, c_max + 1):\n if K_c is not None:\n c2 = K_c - c\n if 0 <= c2 < W and g[r, c2] != 8: result[r, c] = g[r, c2]; continue\n if K_r is not None:\n r2 = K_r - r\n if 0 <= r2 < H and g[r2, c] != 8: result[r, c] = g[r2, c]; continue\n if K_r is not None and K_c is not None:\n r2 = K_r - r; c2 = K_c - c\n if 0 <= r2 < H and 0 <= c2 < W and g[r2, c2] != 8: result[r, c] = g[r2, c2]; continue\n return result[r_min:r_max+1, c_min:c_max+1].tolist()\n"
}