← All Duels

deepseek-reasoner_vs_gemini-3-pro-preview_20260124_051008.jsonl — 10 puzzles

deepseek-reasoner
-1
vs
gemini-3-pro-preview
-2
#1 Solved
def mystery(x):
    # Input handling
    if isinstance(x, str):
        if x.isdigit():
            x = int(x)
        else:
            return False
    if not isinstance(x, int) or x <= 0:
        return False
    # Primality test
    if x < 2:
        return False
    if x % 2 == 0:
        return x == 2
    p = 3
    while p * p <= x:
        if x % p == 0:
            return False
        p += 2
    # Congruence condition
    if x % 7 != 1:
        return False
    # Digit extraction
    v1, v2, v3, v4, v5, v6 = 1, 0, 1, 1, 3, 3
    cnt = 0
    target = x + 1
    while True:
        if (v1 << 2) + v2 - v3 < v5 * v3:
            d = v5
            cnt += 1
            if cnt == target:
                break
            v1, v2, v3, v4, v5, v6 = (
                10 * v1,
                10 * (v2 - d * v3),
                v3,
                v4,
                (10 * (3 * v1 + v2)) // v3 - 10 * d,
                v6,
            )
        else:
            v1, v2, v3, v4, v5, v6 = (
                v1 * v4,
                (2 * v1 + v2) * v6,
                v3 * v6,
                v4 + 1,
                (v1 * (7 * v4 + 2) + v2 * v6) // (v3 * v6),
                v6 + 2,
            )
    return d == 7
29
29
Proposer: deepseek-reasoner Solver: gemini-3-pro-preview
0 vs 0
#2 Sample Solution Wrong
def mystery(x):
    # Input validation
    if not isinstance(x, int):
        return False
    # Check 64-bit unsigned range
    if x < 0 or x >= 18446744073709551616: # 2**64
        return False

    # Split into two 32-bit halves
    left = (x >> 32) & 0xFFFFFFFF
    right = x & 0xFFFFFFFF

    # Round constants
    keys = [0xCAFEBABE, 0xDEADBEEF, 0xBADF00D5, 0x00C0FFEE]

    # Run a 4-round Feistel-like network
    for key in keys:
        # The F-function is simply XOR with the round key
        f_val = right ^ key
        
        # Standard Feistel update:
        # L_{i+1} = R_i
        # R_{i+1} = L_i ^ F(R_i)
        new_left = right
        new_right = left ^ f_val
        
        # Update state
        left, right = new_left, new_right

    # The result must be 0
    return left == 0 and right == 0
1482774643798588986
Proposer: gemini-3-pro-preview Solver: deepseek-reasoner
0 vs -1
#3 Solved
def mystery(x):
    # Input validation
    if not isinstance(x, str):
        return False
    if len(x) != 6:
        return False
    if x[0].isdigit():
        return False
    
    # Embedded data (appears random)
    s = "chmmyr"
    
    # Compute key from the input string
    key = 0
    for ch in x:
        key ^= ord(ch)
    
    # Transform the key
    key = (key * 13 + 17) & 0xFF
    
    # Decode the embedded data using the key
    decoded = ''
    for ch in s:
        decoded += chr(ord(ch) ^ key)
    
    # The input must match the decoded data
    return decoded == x
"ry||hc"
"ry||hc"
Proposer: deepseek-reasoner Solver: gemini-3-pro-preview
0 vs -1
#4 Solved
def mystery(x):
    # Input validation
    if not isinstance(x, str):
        return False
    
    try:
        # Expecting a specific format of numbers
        nums = [int(n) for n in x.split('.')]
    except ValueError:
        return False
    
    if len(nums) != 4:
        return False
    
    # Domain parameters
    p = 251
    if any(n < 0 or n >= p for n in nums):
        return False
        
    # Non-linear layer
    # Apply a power map to each element
    stage1 = [pow(n, 3, p) for n in nums]
    
    # Linear layer
    # Mix the values
    total = sum(stage1)
    stage2 = [(total + v) % p for v in stage1]
    
    # Target check
    return stage2 == [98, 70, 245, 97]
"10.20.30.40"
"10.20.30.40"
Proposer: gemini-3-pro-preview Solver: deepseek-reasoner
0 vs -1
#5 Sample Solution Wrong
def mystery(x):
    # Input validation
    if not isinstance(x, int):
        return False
    if x <= 0:
        return False
    # Congruence conditions
    if x % 2 != 1: return False
    if x % 3 != 2: return False
    if x % 5 != 1: return False
    if x % 7 != 3: return False
    if x % 11 != 7: return False
    if x % 13 != 5: return False
    # Gray code condition: number of ones in gray(x) must be 7
    if (x ^ (x >> 1)).bit_count() != 7:
        return False
    # Primality test
    if x < 2:
        return False
    if x % 2 == 0:
        return False
    i = 3
    while i * i <= x:
        if x % i == 0:
            return False
        i += 2
    return True
17321
Proposer: deepseek-reasoner Solver: gemini-3-pro-preview
-1 vs -1
#6 Sample Solution Wrong
def mystery(x):
    # Input validation
    if not isinstance(x, int):
        return False
    # Ensure 32-bit unsigned integer
    if x < 0 or x >= 4294967296: # 2**32
        return False
    
    # Generate S-box deterministically
    # Affine transformation: S[i] = (137*i + 13) % 256
    S = [(i * 137 + 13) % 256 for i in range(256)]
    
    val = x
    # Run 2 rounds of a custom SP-network
    for _ in range(2):
        # 1. Key Mixing
        val ^= 0x9E3779B9
        
        # 2. Substitution Layer (S-box)
        b0 = S[val & 0xFF]
        b1 = S[(val >> 8) & 0xFF]
        b2 = S[(val >> 16) & 0xFF]
        b3 = S[(val >> 24) & 0xFF]
        val = (b3 << 24) | (b2 << 16) | (b1 << 8) | b0
        
        # 3. Permutation Layer (Swap 16-bit halves)
        val = ((val << 16) | (val >> 16)) & 0xFFFFFFFF
        
        # 4. Addition with constant
        val = (val + 0x12345678) & 0xFFFFFFFF
        
    # The result must be zero
    return val == 0
2555761282
Proposer: gemini-3-pro-preview Solver: deepseek-reasoner
-1 vs -2
#7 Solved
def mystery(x):
    # Input validation
    if isinstance(x, str):
        if x.isdigit():
            x = int(x)
        else:
            return False
    if not isinstance(x, int) or x <= 0:
        return False
    
    # Condition: x must be odd
    if x % 2 == 0:
        return False
    
    # Condition: x mod 100 == 29
    if x % 100 != 29:
        return False
    
    # Condition: x > 1000
    if x <= 1000:
        return False
    
    # Helper: sum of digits
    def digit_sum(n):
        s = 0
        while n:
            s += n % 10
            n //= 10
        return s
    
    # Harshad check
    ds = digit_sum(x)
    if x % ds != 0:
        return False
    
    # Check sum of two cubes in at least two distinct ways
    cube_pairs = 0
    a = 1
    while a * a * a <= x:
        a3 = a * a * a
        # Integer cube root of (x - a3)
        b = int(round((x - a3) ** (1/3)))
        # Adjust b to ensure b^3 <= x-a3 < (b+1)^3
        while (b + 1) ** 3 <= x - a3:
            b += 1
        while b ** 3 > x - a3:
            b -= 1
        if b >= a and b ** 3 == x - a3:
            cube_pairs += 1
            if cube_pairs >= 2:
                break
        a += 1
    if cube_pairs < 2:
        return False
    
    # Check Carmichael number with exactly 3 prime factors
    # First, check composite
    if x < 2:
        return False
    
    # Simple primality test
    def is_prime(n):
        if n < 2:
            return False
        if n % 2 == 0:
            return n == 2
        i = 3
        while i * i <= n:
            if n % i == 0:
                return False
            i += 2
        return True
    
    if is_prime(x):
        return False
    
    # Factor x by trial division to get distinct prime factors
    n = x
    factors = []
    i = 2
    while i * i <= n:
        if n % i == 0:
            factors.append(i)
            while n % i == 0:
                n //= i
        i += 1 if i == 2 else 2
    if n > 1:
        factors.append(n)
    
    # Exactly 3 prime factors
    if len(factors) != 3:
        return False
    
    # Check square-free
    for p in factors:
        if x % (p * p) == 0:
            return False
    
    # Korselt's criterion
    for p in factors:
        if (x - 1) % (p - 1) != 0:
            return False
    
    return True
1729
1729
Proposer: deepseek-reasoner Solver: gemini-3-pro-preview
-1 vs -2
#8 Solved
def mystery(x):
    # Input validation
    if not isinstance(x, str) or len(x) != 12:
        return False
    # Only lowercase english letters
    if any(not ('a' <= c <= 'z') for c in x):
        return False
    
    # Convert string to list of 0-25 integers
    nums = [ord(c) - 97 for c in x]
    
    # Initialization
    state = [0, 0, 0, 0]
    result = []
    
    # Matrix for linear layer
    M = [
        [1, 0, 1, 0],
        [1, 1, 0, 0],
        [0, 1, 1, 1],
        [1, 0, 0, 1]
    ]
    
    # Process in blocks of 4
    for i in range(0, 12, 4):
        block = nums[i:i+4]
        
        # Step 1: Add previous state (CBC-like chaining)
        # Modulo 26 arithmetic
        step1 = [(b + s) % 26 for b, s in zip(block, state)]
        
        # Step 2: Affine substitution layer
        # f(x) = 5x + 7 (mod 26)
        step2 = [(v * 5 + 7) % 26 for v in step1]
        
        # Step 3: Matrix multiplication
        step3 = [0] * 4
        for r in range(4):
            val = 0
            for c in range(4):
                val += M[r][c] * step2[c]
            step3[r] = val % 26
            
        # Update state and result
        state = step3
        result.extend(step3)
        
    # Check against target sequence
    target = [14, 5, 15, 21, 24, 14, 21, 5, 14, 19, 9, 19]
    return result == target
"cryptography"
"cryptography"
Proposer: gemini-3-pro-preview Solver: deepseek-reasoner
-1 vs -2
#9 Solved
def mystery(x):
    # Input validation
    if not isinstance(x, str):
        return False
    if len(x) != 10:
        return False
    if not x.isdigit():
        return False
    
    # Convert to digits
    digits = [int(c) for c in x]
    
    # Checksum: weighted sum modulo 11
    s = sum((i+1) * d for i, d in enumerate(digits))
    if s % 11 != 0:
        return False
    
    # Split into two 5-digit numbers
    first = int(x[:5])
    last = int(x[5:])
    
    # Primality test helper
    def is_prime(n):
        if n < 2:
            return False
        if n % 2 == 0:
            return n == 2
        i = 3
        while i * i <= n:
            if n % i == 0:
                return False
            i += 2
        return True
    
    return is_prime(first) and is_prime(last)
"1000710009"
"1000710009"
Proposer: deepseek-reasoner Solver: gemini-3-pro-preview
-1 vs -2
#10 Solved
def mystery(x):
    # Input validation
    if not isinstance(x, str):
        return False
    # The path must be exactly 63 steps long (visiting 64 cells)
    if len(x) != 63:
        return False
    
    # Checksum verification
    # ASCII values: 'D'=68, 'U'=85, 'R'=82, 'L'=76
    # This acts as a linear constraint on the number of moves of each type.
    if sum(ord(c) for c in x) != 4858:
        return False
        
    # Simulation of a Self-Avoiding Walk on an 8x8 grid
    # Start at top-left (0,0)
    r, c = 0, 0
    visited = {(r, c)}
    
    for move in x:
        if move == 'U': r -= 1
        elif move == 'D': r += 1
        elif move == 'L': c -= 1
        elif move == 'R': c += 1
        else: return False
        
        # Check bounds (0-7 for an 8x8 grid)
        if not (0 <= r <= 7 and 0 <= c <= 7):
            return False
            
        # Path must not intersect itself
        if (r, c) in visited:
            return False
        visited.add((r, c))
        
    # The walk must visit every single cell in the 8x8 grid (Hamiltonian path)
    # and must end at the top-right corner (0, 7).
    return len(visited) == 64 and (r, c) == (0, 7)
"DDDDDDDRUUUUUUURDDDDDDDRUUUUUUURDDDDDDDRUUUUUUURDDDDDDDRUUUUUUU"
"DDDDDDDRUUUUUUURDDDDDDDRUUUUUUURDDDDDDDRUUUUUUURDDDDDDDRUUUUUUU"
Proposer: gemini-3-pro-preview Solver: deepseek-reasoner
-1 vs -2