← All Duels

grok-4_vs_gemini-2.5-pro_20260124_000812.jsonl — 10 puzzles

grok-4
1
vs
gemini-2.5-pro
-3
#1 Solved
def mystery(x):
    l = [1124864, 1030301, 1259712, 1259712, 1367631, 32768, 1685159, 1367631, 1481544, 1259712, 1000000]
    t = ''.join(chr(round(i ** (1/3))) for i in l)
    return x == t
"hello world"
"hello world"
Proposer: grok-4 Solver: gemini-2.5-pro
0 vs 0
#2 Sample Solution Wrong
def mystery(x):
    if not (isinstance(x, str) and len(x) == 7 and x.isalpha() and x.islower()):
        return False

    if x != x[::-1]:
        return False
    
    key = sum((ord(c) - 96) * (i + 1) for i, c in enumerate(x))
    
    return pow(key, 3, 4087) == 576
"aabhbaa"`
Proposer: gemini-2.5-pro Solver: grok-4
0 vs -1
#3 Solved
def mystery(x):
    l = [10000000000, 12762815625, 11040808032, 11040808032, 12762815625, 9509900499, 21924480357, 14693280768, 21003416576]
    t = ''.join(chr(round(i ** (1/5))) for i in l)
    return x == t
"difficult"
"difficult"
Proposer: grok-4 Solver: gemini-2.5-pro
0 vs -1
#4 Solver Failed
def mystery(x):
    """
    To solve this puzzle, you must find a string 'x' that satisfies a set of hidden criteria.
    The function's logic will guide you.
    """

    # A standard primality test. You can assume this function is correct and not part of the trick.
    def is_prime(n):
        if n < 2:
            return False
        if n == 2 or n == 3:
            return True
        if n % 2 == 0 or n % 3 == 0:
            return False
        i = 5
        # Check factors of the form 6k +/- 1 up to sqrt(n)
        while i * i <= n:
            if n % i == 0 or n % (i + 2) == 0:
                return False
            i += 6
        return True

    # The alphabet for a custom number system. The order matters.
    alphabet = "etaoinshrdlu"
    base = len(alphabet)

    # Basic input validation.
    if not isinstance(x, str) or not x:
        return False
    if not all(c in alphabet for c in x):
        return False

    # Decode the input string 'x' from the custom base into an integer.
    value = 0
    for char in x:
        value = value * base + alphabet.index(char)

    # The decoded value must satisfy two specific mathematical properties.
    # Property 1: It must be a prime number.
    if not is_prime(value):
        return False

    # Property 2: Its representation in binary must be a palindrome.
    # (e.g., 17 is 10001 in binary, which is a palindrome)
    bin_rep = bin(value)[2:]
    if bin_rep != bin_rep[::-1]:
        return False

    return True
"tot"
"otutn"
Proposer: gemini-2.5-pro Solver: grok-4
0 vs 0
#5 Solver Failed
def mystery(x):
    l = [12544, 1601613, 221533456, 27027081632, 1586874322944, 107213535210701]
    exps = [2, 3, 4, 5, 6, 7]
    t = ''.join(chr(round(i ** (1/e))) for i, e in zip(l, exps))
    return x == t
"puzzvu"
"puzzle"
Proposer: grok-4 Solver: gemini-2.5-pro
1 vs 0
#6 Sample Solution Wrong
import math

def mystery(x):
    """
    To solve this puzzle, you must find a very specific set of points.
    The function's logic is your guide.
    """
    # Constraint: Input must be a list of 8 tuples, each with 2 integers.
    if not isinstance(x, list) or len(x) != 8:
        return False
    if not all(isinstance(p, tuple) and len(p) == 2 and 
               isinstance(p[0], int) and isinstance(p[1], int) for p in x):
        return False

    # Constraint: All points must be unique.
    if len(set(x)) != 8:
        return False

    # Constraint: All points must lie on a circle centered at the origin.
    # Calculate the squared radius for the first point.
    try:
        r_squared = x[0][0]**2 + x[0][1]**2
    except (TypeError, IndexError):
        return False
        
    if r_squared == 0: # Avoid trivial solutions.
        return False
        
    # Check if all other points have the same squared radius.
    if not all(p[0]**2 + p[1]**2 == r_squared for p in x):
        return False

    # Sort points by angle to form a canonical simple polygon.
    # Using atan2 is the standard way to order points on a circle.
    try:
        points = sorted(x, key=lambda p: math.atan2(p[1], p[0]))
    except (TypeError, ValueError):
        return False

    # Calculate the area of the polygon formed by these points using the Shoelace formula.
    # The points being on a circle and sorted by angle guarantees a convex polygon.
    area = 0.0
    for i in range(8):
        p1 = points[i]
        p2 = points[(i + 1) % 8]
        area += (p1[0] * p2[1] - p2[0] * p1[1])
    
    final_area = abs(area) / 2.0

    # The final condition that x must satisfy.
    return final_area == 157.0
[(1, 8), (8, 1), (8, -1), (1, -8), (-1, -8), (-8, -1), (-8, 1), (-1, 8)]`
Proposer: gemini-2.5-pro Solver: grok-4
1 vs -1
#7 Solved
def mystery(x):
    l = [15386239549, 3137428376721, 266001988046875, 32784148879812096, 1093685272684360901, 370722131411856638976, 81376811860328619113321]
    exps = [5, 6, 7, 8, 9, 10, 11]
    t = ''.join(chr(round(i ** (1/e))) for i, e in zip(l, exps))
    return x == t
"mystery"
"mystery"
Proposer: grok-4 Solver: gemini-2.5-pro
1 vs -1
#8 Sample Solution Wrong
import collections

def mystery(x):
    """
    To solve this puzzle, you must find a 16-character string 'x' that represents
    a specific, valid sequence.
    """
    # Constraint 1: Input type and length.
    if not isinstance(x, str) or len(x) != 16:
        return False

    # Constraint 2: Character set. Must be a permutation of 'abcdefghijklmnop'.
    if set(x) != set("abcdefghijklmnop") or len(set(x)) != 16:
        return False

    # Convert characters to numerical values (a=1, b=2, ..., p=16).
    try:
        values = [ord(c) - ord('a') + 1 for c in x]
    except (TypeError, ValueError):
        return False

    # The core property check.
    # For each adjacent pair of values in the sequence...
    for i in range(len(values) - 1):
        # ...their sum must satisfy a certain mathematical property.
        pair_sum = values[i] + values[i+1]
        
        # A simple test for the required property.
        if pair_sum < 2:
            return False
        # Check for factors from 2 up to the square root of the number.
        for j in range(2, int(pair_sum**0.5) + 1):
            if pair_sum % j == 0:
                return False # Fails the property test.
    
    # If all adjacent pair sums satisfy the property, the sequence is valid.
    return True
'pmdihkfalgbjocne'
Proposer: gemini-2.5-pro Solver: grok-4
1 vs -2
#9 Solved
def mystery(x):
    l = [11156683466653165551101, 259374246010000000000, 17103393581163134765625, 112550881, 19925626416919921, 8596749257]
    exps = [11, 10, 11, 4, 8, 5]
    t = ''.join(chr(round(i ** (1/e))) for i, e in zip(l, exps))
    return x == t
"enigma"
"enigma"
Proposer: grok-4 Solver: gemini-2.5-pro
1 vs -2
#10 Sample Solution Wrong
def mystery(x):
    """
    To solve this puzzle, you must find a string 'x' that satisfies a set of hidden criteria.
    The function's logic will guide you.
    """

    # A standard algorithm for Longest Common Subsequence length.
    # You can assume this is implemented correctly.
    def lcs_length(s1, s2):
        m, n = len(s1), len(s2)
        dp = [[0] * (n + 1) for _ in range(m + 1)]
        for i in range(m):
            for j in range(n):
                if s1[i] == s2[j]:
                    dp[i+1][j+1] = dp[i][j] + 1
                else:
                    dp[i+1][j+1] = max(dp[i+1][j], dp[i][j+1])
        return dp[m][n]

    # Basic input validation.
    if not (isinstance(x, str) and len(x) == 15 and x.isalpha() and x.islower()):
        return False

    # The two sequences to compare against. Their structure is the main clue.
    s1 = "abcdefghijklmnopqrstuvwxyz"
    s2 = "zyxwutsrqponmlkjihgfedcba"

    # Property 1: A measure of sortedness.
    val1 = lcs_length(x, s1)
    if val1 != 4:
        return False

    # Property 2: A measure of reverse-sortedness.
    val2 = lcs_length(x, s2)
    if val2 != 5:
        return False
        
    # Property 3: A checksum to narrow the search space.
    # The sum of the 0-indexed alphabetical values of the characters.
    try:
        char_sum = sum(ord(c) - ord('a') for c in x)
    except TypeError:
        return False
        
    if char_sum != 195:
        return False

    return True
"synchronization"
Proposer: gemini-2.5-pro Solver: grok-4
1 vs -3