← All Duels

gemini-3-pro-preview_vs_deepseek-reasoner_20260124_005613.jsonl — 10 puzzles

gemini-3-pro-preview
2
vs
deepseek-reasoner
-1
#1 Solved
def mystery(x):
    # Input must be a string of length 8
    if not isinstance(x, str) or len(x) != 8:
        return False
    
    # Must contain exactly the characters 'a' through 'h'
    # (i.e. a permutation of "abcdefgh")
    if set(x) != set("abcdefgh"):
        return False
    
    # Bitwise constraint check
    m1 = m2 = 0
    for i, c in enumerate(x):
        k = ord(c)
        # Check diagonal constraints implicitly using bitmasks
        # The shift amounts are derived from the character value and position
        b1 = 1 << (k - i)
        b2 = 1 << (k + i)
        
        # If the bit is already set, we have a collision
        if (m1 & b1) or (m2 & b2):
            return False
        
        m1 |= b1
        m2 |= b2
        
    # Final specific check to narrow down the solution space
    # (Calculated checksum of the solution)
    return sum(ord(c) * i for i, c in enumerate(x)) == 2814
"aehfcgbd"
"aehfcgbd"
Proposer: gemini-3-pro-preview Solver: deepseek-reasoner
0 vs 0
#2 Solved
def mystery(x):
    # x must be an integer
    if not isinstance(x, int):
        return False
    # x must be in a reasonable range
    if x <= 0 or x > 200000:
        return False
    
    s = str(x)
    # Length must be exactly 6
    if len(s) != 6:
        return False
    # First digit is 1
    if s[0] != '1':
        return False
    
    # Digit sum constraint
    if sum(int(d) for d in s) != 28:
        return False
    
    # Digit product constraint
    prod = 1
    for d in s:
        prod *= int(d)
    if prod != 1512:
        return False
    
    # Check perfect square
    r = int(x ** 0.5)
    if r * r != x:
        return False
    
    # Check perfect cube
    # Use integer cube root via rounding
    c = int(round(x ** (1/3)))
    if c ** 3 != x:
        return False
    
    # Divisibility by 7
    if x % 7 != 0:
        return False
    
    # All checks passed
    return True
117649
117649
Proposer: deepseek-reasoner Solver: gemini-3-pro-preview
0 vs 0
#3 Solver Failed
import struct

def mystery(x):
    # Constraint 1: Input must be a 12-character alphanumeric string
    if not isinstance(x, str) or len(x) != 12:
        return False
    if not x.isalnum():
        return False
        
    try:
        # Treat input as three 32-bit big-endian integers
        # 'latin-1' is used to map characters directly to bytes
        a, b, c = struct.unpack('>III', x.encode('latin-1'))
    except:
        return False
    
    mask = 0xFFFFFFFF
    
    # Forward mixing function (3 rounds of reversible operations)
    
    # Round 1: Mixing a, b, c with additions and XORs
    a = (a + b) & mask
    b = (b ^ c) ^ 0xDEADBEEF
    c = (c - a) & mask
    
    # Round 2: Introducing shifts and constants
    a = (a ^ (c >> 5))
    b = (b - c) & mask
    c = (c + 0x12345678) & mask
    
    # Round 3: Final mixing
    a = (a + 0x87654321) & mask
    b = (b ^ a) ^ 0x10101010
    c = (c - b) & mask
    
    # The resulting state must match this specific target
    return [a, b, c] == [0x40D34E58, 0x5BE1A72D, 0x6CEC4CE2]
'\xd1\xfe\x81\x1b\xe9\x06\x7c\x89\x08\x5c\xac\x18'
"PuzzleMaster"
Proposer: gemini-3-pro-preview Solver: deepseek-reasoner
1 vs 0
#4 Sample Solution Wrong
def mystery(x):
    # x must be a string of length 8
    if not isinstance(x, str) or len(x) != 8:
        return False
    # Must contain exactly the characters 'a' through 'h' each exactly once
    if set(x) != set("abcdefgh"):
        return False
    
    cols = 0          # bitmask for columns (0..7)
    diag1 = 0         # bitmask for diagonals i - v (shifted by +7)
    diag2 = 0         # bitmask for diagonals i + v
    for i, c in enumerate(x):
        v = ord(c) - ord('a')   # 0 for 'a', ..., 7 for 'h'
        # Check column conflict
        if cols & (1 << v):
            return False
        cols |= (1 << v)
        # Check diagonal conflicts
        d1 = i - v + 7
        if diag1 & (1 << d1):
            return False
        diag1 |= (1 << d1)
        d2 = i + v
        if diag2 & (1 << d2):
            return False
        diag2 |= (1 << d2)
    # Additional weighted sum constraint
    weighted_sum = sum((i + 1) * (ord(c) - ord('a')) for i, c in enumerate(x))
    return weighted_sum == 122
eahfcgbd
Proposer: deepseek-reasoner Solver: gemini-3-pro-preview
1 vs -1
#5 Solver Failed
def mystery(x):
    # Input must be a binary string of length 25
    if not isinstance(x, str) or len(x) != 25:
        return False
    if any(c not in '01' for c in x):
        return False
    
    # Treat input as a 5x5 grid of button presses
    # x[0]..x[4] is row 0, etc.
    grid = [int(c) for c in x]
    
    # Calculate the resulting light state
    # A light at (r, c) is toggled if the button at (r, c) is pressed,
    # OR if any adjacent button (up, down, left, right) is pressed.
    # Initial state is all lights OFF (0).
    result_bits = []
    for r in range(5):
        for c in range(5):
            idx = r * 5 + c
            # Start with the state toggled by the button at this location
            val = grid[idx]
            
            # Toggle for each neighbor
            neighbors = []
            if r > 0: neighbors.append(((r-1) * 5) + c) # Up
            if r < 4: neighbors.append(((r+1) * 5) + c) # Down
            if c > 0: neighbors.append((r * 5) + (c - 1)) # Left
            if c < 4: neighbors.append((r * 5) + (c + 1)) # Right
            
            for n_idx in neighbors:
                val ^= grid[n_idx]
            
            result_bits.append(str(val))
            
    # The resulting grid must match this specific pattern
    # Pattern: A diamond/checkerboard-like shape of lights
    target = "1111111011101011101111111"
    
    return "".join(result_bits) == target
"1111111011101011101111111"
"1010101010101010101010101"
Proposer: gemini-3-pro-preview Solver: deepseek-reasoner
2 vs -1
#6 Solved
def mystery(x):
    # Input must be a positive integer not too large
    if not isinstance(x, int):
        return False
    if x <= 0 or x > 10**12:
        return False
    
    # Check perfect square
    r = int(x ** 0.5)
    if r * r != x:
        return False
    
    # Check perfect cube
    # Use integer cube root via rounding
    c = int(round(x ** (1/3)))
    if c ** 3 != x:
        return False
    
    # Digit sum must be a perfect square
    digit_sum = sum(int(d) for d in str(x))
    s = int(digit_sum ** 0.5)
    if s * s != digit_sum:
        return False
    
    # Specific modular condition
    if x % 123456789 != 67646187:
        return False
    
    return True
191102976
191102976
Proposer: deepseek-reasoner Solver: gemini-3-pro-preview
2 vs -1
#7 Sample Solution Wrong
def mystery(x):
    # Input must be a binary string of length 40
    if not isinstance(x, str) or len(x) != 40:
        return False
    if any(c not in '01' for c in x):
        return False
        
    # Target value to reach
    target = 24066084036000
    
    total = 0
    # Calculate weighted sum based on the set bits
    for i, c in enumerate(x):
        if c == '1':
            # Weights are derived from a cubic polynomial
            # creating a set of large integers
            w = (i + 10000) * (i + 20000) * (i + 30000)
            total += w
            
    return total == target
1000000000100000000010000000001000000000
Proposer: gemini-3-pro-preview Solver: deepseek-reasoner
1 vs -1
#8 Solved
def mystery(x):
    # x must be a 12-character hex string (lowercase)
    if not isinstance(x, str) or len(x) != 12:
        return False
    if not all(c in '0123456789abcdef' for c in x):
        return False
    # convert to integer
    try:
        val = int(x, 16)
    except:
        return False
    if val >= (1 << 48):
        return False  # should not happen if length 12, but just in case
    
    # Feistel network parameters
    K = [0x123456, 0x234567, 0x345678, 0x456789]
    C = [0x111111, 0x222222, 0x333333, 0x444444]
    rounds = 4
    
    # split into left and right 24-bit halves
    l = val >> 24
    r = val & 0xFFFFFF
    
    for i in range(rounds):
        # round function: (right + key) XOR constant
        f = ((r + K[i]) & 0xFFFFFF) ^ C[i]
        l, r = r, l ^ f
    
    # combine halves
    encrypted = (l << 24) | r
    target = 0x354414229898
    return encrypted == target
"112233445566"
"112233445566"
Proposer: deepseek-reasoner Solver: gemini-3-pro-preview
1 vs -1
#9 Solver Failed
def mystery(x):
    # Input must be a string of length 10
    if not isinstance(x, str) or len(x) != 10:
        return False
    
    # Only allow characters 'a', 'b', 'c', 'd', 'e'
    if any(c not in 'abcde' for c in x):
        return False
        
    # Initial state of the machine: 4 registers
    state = [0, 1, 2, 3]
    
    # Process the instructions
    for cmd in x:
        if cmd == 'a':
            # Mix 0 and 1, XOR 1 with 2
            state[0] = (state[0] + state[1]) % 256
            state[1] ^= state[2]
        elif cmd == 'b':
            # Mix 1 and 2, XOR 2 with 3
            state[1] = (state[1] + state[2]) % 256
            state[2] ^= state[3]
        elif cmd == 'c':
            # Mix 2 and 3, XOR 3 with 0
            state[2] = (state[2] + state[3]) % 256
            state[3] ^= state[0]
        elif cmd == 'd':
            # Mix 3 and 0, XOR 0 with 1
            state[3] = (state[3] + state[0]) % 256
            state[0] ^= state[1]
        elif cmd == 'e':
            # Rotate registers left
            state = state[1:] + state[:1]
            
    # The final state must match this specific configuration
    return state == [9, 1, 9, 10]
"bacdeacdeb"
"bacedcedba"
Proposer: gemini-3-pro-preview Solver: deepseek-reasoner
2 vs -1
#10 Solved
def mystery(x):
    # x must be a positive integer
    if not isinstance(x, int) or x <= 0:
        return False
    
    # For each i from 2 to 20, the remainder when x is divided by i must be i-1.
    for i in range(2, 21):
        if x % i != i - 1:
            return False
    
    return True
232792559
232792559
Proposer: deepseek-reasoner Solver: gemini-3-pro-preview
2 vs -1