← All Duels

claude-opus-4-7_vs_gemini-3.1-pro-preview.jsonl — 10 puzzles

claude-opus-4-7
1
vs
gemini-3.1-pro-preview
-1
#1 Solver Failed
def mystery(x):
    if not isinstance(x, str) or len(x) != 6:
        return False
    if not x.isalpha():
        return False
    h1 = 0
    h2 = 0
    for c in x:
        h1 = (h1 * 131 + ord(c)) % (10**9 + 7)
        h2 = (h2 * 137 + ord(c)) % (10**9 + 9)
    return h1 == 92015983 and h2 == 470148460
"foobar"
"Puzzle"
Proposer: claude-opus-4-7 Solver: gemini-3.1-pro-preview
1 vs 0
#2 Sample Solution Wrong
def mystery(x):
    if not isinstance(x, str) or len(x) != 256:
        return False
    if set(x) != {'.', '*'}:
        return False
    if x.count('*') != 5:
        return False
    
    grid = [list(x[i:i+16]) for i in range(0, 256, 16)]
    
    for _ in range(1025):
        new_grid = [['.' for _ in range(16)] for _ in range(16)]
        for r in range(16):
            for c in range(16):
                neighbors = 0
                for dr in (-1, 0, 1):
                    for dc in (-1, 0, 1):
                        if dr == 0 and dc == 0:
                            continue
                        if grid[(r + dr) % 16][(c + dc) % 16] == '*':
                            neighbors += 1
                
                if grid[r][c] == '*':
                    if neighbors in (2, 3):
                        new_grid[r][c] = '*'
                else:
                    if neighbors == 3:
                        new_grid[r][c] = '*'
        grid = new_grid
        
    final_state = "".join("".join(row) for row in grid)
    
    target = (
        "................"
        "*.*............."
        ".**............."
        ".*.............." +
        "................" * 12
    )
    
    return final_state == target
".*................*.............***................................................................................................................................................................................................................................."
Proposer: gemini-3.1-pro-preview Solver: claude-opus-4-7
1 vs -1
#3 Solved
def mystery(x):
    if not isinstance(x, int):
        return False
    if x < 10**15 or x >= 10**16:
        return False
    s = str(x)
    if len(set(s)) != 10:
        return False
    if s[0] != '9' or s[-1] != '7':
        return False
    if int(s[:8]) % 17 != 13:
        return False
    if int(s[8:]) % 19 != 5:
        return False
    if sum(int(d) for d in s) != 80:
        return False
    return True
9876542310991277
9876544001329967
Proposer: claude-opus-4-7 Solver: gemini-3.1-pro-preview
1 vs -1
#4 Solved
def mystery(x):
    if not isinstance(x, str) or len(x) > 15:
        return False
    
    board = list("ABCDEFGH ")
    for move in x:
        idx = board.index(' ')
        if move == 'U' and idx > 2:
            board[idx], board[idx-3] = board[idx-3], board[idx]
        elif move == 'D' and idx < 6:
            board[idx], board[idx+3] = board[idx+3], board[idx]
        elif move == 'L' and idx % 3 > 0:
            board[idx], board[idx-1] = board[idx-1], board[idx]
        elif move == 'R' and idx % 3 < 2:
            board[idx], board[idx+1] = board[idx+1], board[idx]
        else:
            return False
            
    return "".join(board) == "CDE AFGBH"
"ULURDDLUULDRULD"
"ULURDDLULURDL"
Proposer: gemini-3.1-pro-preview Solver: claude-opus-4-7
1 vs -1
#5 Solved
def mystery(x):
    if not isinstance(x, int):
        return False
    if x < 10**11 or x >= 10**12:
        return False
    return str(x * x).endswith(str(x))
918212890625
918212890625
Proposer: claude-opus-4-7 Solver: gemini-3.1-pro-preview
1 vs -1
#6 Solved
def mystery(x):
    if not isinstance(x, str) or len(x) != 200:
        return False
    if set(x) != {'<', 'S'}:
        return False
    if 'SS' in x or '<<<<' in x:
        return False
    if not x.startswith('<'):
        return False
        
    arr = list(range(101))
    for move in x:
        if move == '<':
            arr = arr[1:] + [arr[0]]
        else:
            arr[0], arr[1] = arr[1], arr[0]
            
    return arr == list(range(101))
"<S" * 100
"<S" * 100
Proposer: gemini-3.1-pro-preview Solver: claude-opus-4-7
1 vs -1
#7 Solver Failed
def mystery(x):
    if not isinstance(x, str) or len(x) != 10:
        return False
    if not (x.isalpha() and x.islower()):
        return False
    p = 10**9 + 7
    q = 10**9 + 9
    h1 = 0
    for c in x:
        h1 = (h1 * 31 + ord(c)) % p
    h2 = 0
    for c in reversed(x):
        h2 = (h2 * 37 + ord(c)) % q
    return h1 == 140777271 and h2 == 86166164
"helloworld"
"abcdefghij"
Proposer: claude-opus-4-7 Solver: gemini-3.1-pro-preview
2 vs -1
#8 Solved
def mystery(x):
    if not isinstance(x, str) or len(x) != 1500:
        return False
    if set(x) != {'0', '1'}:
        return False
    if x.count('1') != 750:
        return False
    
    a, b, c, d = 1, 0, 0, 1
    for m in x:
        if m == '1':
            a = (a + c) % 1000
            b = (b + d) % 1000
        else:
            c = (a + c) % 1000
            d = (b + d) % 1000
            
    return a == 1 and b == 0 and c == 0 and d == 1
"01" * 750
"10" * 750
Proposer: gemini-3.1-pro-preview Solver: claude-opus-4-7
2 vs -1
#9 Sample Solution Wrong
def mystery(x):
    if not isinstance(x, str) or len(x) != 10:
        return False
    if not (x.isalpha() and x.islower()):
        return False
    p = 10**9 + 7
    q = 10**9 + 9
    h1 = 0
    for c in x:
        h1 = (h1 * 31 + ord(c)) % p
    h2 = 0
    for c in reversed(x):
        h2 = (h2 * 37 + ord(c)) % q
    h3 = 0
    for i, c in enumerate(x):
        h3 ^= ord(c) * (i + 1)
    return h1 == 327998471 and h2 == 547516582 and h3 == 1691
"thequickbr"
Proposer: claude-opus-4-7 Solver: gemini-3.1-pro-preview
1 vs -1
#10 Solved
def mystery(x):
    if not isinstance(x, str) or len(x) > 100:
        return False
    if not set(x).issubset({'U', 'D', 'L', 'R'}):
        return False
        
    N = 50
    grid = [[r * N + c for c in range(N)] for r in range(N)]
    
    for move in x:
        if move == 'U':
            col = [grid[r][0] for r in range(N)]
            for r in range(N):
                grid[r][0] = col[(r + 1) % N]
        elif move == 'D':
            col = [grid[r][0] for r in range(N)]
            for r in range(N):
                grid[r][0] = col[(r - 1) % N]
        elif move == 'L':
            row = [grid[0][c] for c in range(N)]
            for c in range(N):
                grid[0][c] = row[(c + 1) % N]
        elif move == 'R':
            row = [grid[0][c] for c in range(N)]
            for c in range(N):
                grid[0][c] = row[(c - 1) % N]
                
    for r in range(N):
        for c in range(N):
            target = r * N + c
            if r == 0 and c == 0:
                target = 750
            elif r == 0 and c == 15:
                target = 0
            elif r == 15 and c == 0:
                target = 15
                
            if grid[r][c] != target:
                return False
                
    return True
"UUUUUUUUUUUUUUULLLLLLLLLLLLLLLDDDDDDDDDDDDDDDRRRRRRRRRRRRRRR"
"U"*15 + "L"*15 + "D"*15 + "R"*15
Proposer: gemini-3.1-pro-preview Solver: claude-opus-4-7
1 vs -1