← All Duels

claude-haiku-4-5_vs_gemini-3-flash-preview.jsonl — 10 puzzles

claude-haiku-4-5
0
vs
gemini-3-flash-preview
0
#1 Solved
def mystery(x):
    if not isinstance(x, str):
        return False
    if len(x) != 5:
        return False
    if not x[0].isdigit():
        return False
    letters = x[1:4]
    if not all(c.isalpha() and c.islower() for c in letters):
        return False
    if not (letters[0] <= letters[1] <= letters[2]):
        return False
    if not x[4].isupper():
        return False
    if not x[4].lower() > letters[2]:
        return False
    return True
"1abcD"
"1abcD"
Proposer: claude-haiku-4-5 Solver: gemini-3-flash-preview
0 vs 0
#2 Sample Solution Wrong
import hashlib

def mystery(x):
    if not (isinstance(x, str) and len(x) == 9 and x.isdigit()):
        return False
    
    # x represents a 9-digit sequence
    nums = [ord(c) - ord('0') for c in x]
    
    # Must use each digit from 1 to 9 exactly once
    if len(set(nums)) != 9 or 0 in nums:
        return False
    
    # Let the sequence represent a 3x3 grid:
    # nums[0] nums[1] nums[2]
    # nums[3] nums[4] nums[5]
    # nums[6] nums[7] nums[8]
    
    # Define groups of indices for rows, columns, and diagonals
    checks = [
        nums[0:3], nums[3:6], nums[6:9],     # Horizontal
        nums[0::3], nums[1::3], nums[2::3],  # Vertical
        nums[0::4], nums[2:7:2]              # Diagonal
    ]
    
    # Every group must sum to the same magic constant
    if any(sum(group) != 15 for group in checks):
        return False
        
    # Finally, verify the hash of the string
    h = hashlib.sha256(x.encode()).hexdigest()
    return h.startswith('0c04257850')
"816357492"
Proposer: gemini-3-flash-preview Solver: claude-haiku-4-5
0 vs -1
#3 Solved
def mystery(x):
    if not isinstance(x, str):
        return False
    if len(x) != 6:
        return False
    
    # First two characters must be digits
    if not x[:2].isdigit():
        return False
    
    # Last four characters must be lowercase letters
    if not (x[2:].isalpha() and x[2:].islower()):
        return False
    
    # The two digits must sum to exactly 5
    digit_sum = int(x[0]) + int(x[1])
    if digit_sum != 5:
        return False
    
    # The product of the two digits must be even
    product = int(x[0]) * int(x[1])
    if product % 2 != 0:
        return False
    
    # The four letters must be in ascending order
    letters = x[2:]
    if letters != ''.join(sorted(letters)):
        return False
    
    # All four letters must be distinct
    if len(set(letters)) != 4:
        return False
    
    # The first letter must be 'b' or 'c'
    if not ('b' <= letters[0] < 'd'):
        return False
    
    return True
"14bcde"
"05bcde"
Proposer: claude-haiku-4-5 Solver: gemini-3-flash-preview
0 vs -1
#4 Solved
def mystery(x):
    if not (isinstance(x, str) and len(x) == 8):
        return False
    
    # Check character categories: first 4 must be uppercase, last 4 must be digits
    if not (x[:4].isalpha() and x[:4].isupper() and x[4:].isdigit()):
        return False
    
    # Extract character values
    a = [ord(c) for c in x[:4]]
    b = [int(d) for d in x[4:]]
    
    # Algebraic constraints on letters
    if a[0] + a[1] != 0x96 or a[0] * a[1] != 0x15E0:
        return False
    if a[2] + a[3] != 0xA0 or a[0] - a[2] != 5:
        return False
        
    # Constraints on the digits
    if sum(b) != 0x14 or (b[0]**2 + b[1]**2 - b[2]**2 - b[3]**2 != 160):
        return False
    
    # Modular arithmetic and weighted check
    if int(x[4:]) % 500 != 0x19B:
        return False
        
    return sum((i + 1) * ord(c) for i, c in enumerate(x)) == 0x863
"PFKU9911"
'PFKU9911'
Proposer: gemini-3-flash-preview Solver: claude-haiku-4-5
0 vs -1
#5 Solved
def mystery(x):
    if not isinstance(x, str) or len(x) != 6:
        return False
    
    # Must be 3 digits followed by 3 lowercase letters
    if not (x[:3].isdigit() and x[3:].isalpha() and x[3:].islower()):
        return False
    
    digits = [int(d) for d in x[:3]]
    letters = x[3:]
    
    # Digits must be in ascending order
    if digits != sorted(digits):
        return False
    
    # Letters must be in ascending order and distinct
    if letters != ''.join(sorted(letters)) or len(set(letters)) != 3:
        return False
    
    # Each digit must be between 1 and 4
    if not all(1 <= d <= 4 for d in digits):
        return False
    
    # Sum of digits equals position of first letter in alphabet
    digit_sum = sum(digits)
    first_letter_pos = ord(letters[0]) - ord('a')
    if digit_sum != first_letter_pos:
        return False
    
    # Product of digits equals difference between last and first letter
    digit_product = 1
    for d in digits:
        digit_product *= d
    letter_diff = ord(letters[2]) - ord(letters[0])
    if digit_product != letter_diff:
        return False
    
    return True
"112efg"
"123gjm"
Proposer: claude-haiku-4-5 Solver: gemini-3-flash-preview
0 vs -1
#6 Solved
def mystery(x):
    if not (isinstance(x, str) and len(x) == 10):
        return False
    
    # The string must follow a specific structure: 
    # 4 lowercase letters, 2 digits, and 4 uppercase letters
    if not (x[:4].isalpha() and x[:4].islower() and 
            x[4:6].isdigit() and 
            x[6:].isalpha() and x[6:].isupper()):
        return False
    
    # The first 4 characters must follow a palindrome-like pattern (e.g., "abba")
    # where the first and second characters are different.
    l_vals = [ord(c) for c in x[:4]]
    if l_vals[0] != l_vals[3] or l_vals[1] != l_vals[2] or l_vals[0] == l_vals[1]:
        return False
    
    # The two digits, when taken together, must form a prime number.
    num = int(x[4:6])
    if not (all(num % i != 0 for i in range(2, int(num**0.5) + 1)) and num > 1):
        return False
    
    # The sum of the two individual digits must equal the count of unique characters in the entire string.
    if int(x[4]) + int(x[5]) != len(set(x)):
        return False
    
    # The last 4 characters must be distinct uppercase letters that sum to a specific ASCII total.
    u_vals = [ord(c) for c in x[6:]]
    if sum(u_vals) != 312 or len(set(u_vals)) != 4:
        return False
    
    # Finally, the string must satisfy a weighted ASCII sum check.
    return sum((i + 1) * ord(c) for i, c in enumerate(x)) == 4239
"ahha17LMOP"
"deed53KLPQ"
Proposer: gemini-3-flash-preview Solver: claude-haiku-4-5
0 vs -1
#7 Solved
def mystery(x):
    if not isinstance(x, str) or len(x) != 10:
        return False
    
    # First 5 characters: lowercase letters
    # Last 5 characters: digits
    if not (x[:5].isalpha() and x[:5].islower() and x[5:].isdigit()):
        return False
    
    letters = x[:5]
    digits = x[5:]
    
    # All letters must be unique
    if len(set(letters)) != 5:
        return False
    
    # All digits must be unique
    if len(set(digits)) != 5:
        return False
    
    # Letters must be in ascending order
    if letters != ''.join(sorted(letters)):
        return False
    
    # The digit string, interpreted as a number, must be divisible by 9
    num = int(digits)
    if num % 9 != 0:
        return False
    
    # Sum of letters (as positions) must equal sum of digits
    letter_sum = sum(ord(c) - ord('a') for c in letters)
    digit_sum = sum(int(d) for d in digits)
    if letter_sum != digit_sum:
        return False
    
    # The first letter must be from a-d
    if letters[0] not in 'abcd':
        return False
    
    # The last digit must be odd
    if int(digits[-1]) % 2 == 0:
        return False
    
    return True
"abchi01269"
"abcfk01269"
Proposer: claude-haiku-4-5 Solver: gemini-3-flash-preview
0 vs -1
#8 Solved
def mystery(x):
    if not (isinstance(x, str) and len(x) == 12):
        return False
    
    # Dividing the string into three segments
    lowers = x[:4]
    digits = x[4:8]
    uppers = x[8:]
    
    # Segment 1: Must be four lowercase letters, sorted and unique
    if not (lowers.islower() and lowers.isalpha()):
        return False
    if lowers != "".join(sorted(lowers)) or len(set(lowers)) != 4:
        return False
    if sum(ord(c) for c in lowers) != 400:
        return False
    
    # Segment 2: Must be four unique digits
    if not (digits.isdigit() and len(set(digits)) == 4):
        return False
    val = int(digits)
    # The middle segment, as a number, must be divisible by 137
    # and the sum of its digits must be exactly 17
    if val % 137 != 0 or sum(int(d) for d in digits) != 17:
        return False
        
    # Segment 3: Must be four uppercase letters, sorted and unique
    if not (uppers.isupper() and uppers.isalpha()):
        return False
    if uppers != "".join(sorted(uppers)) or len(set(uppers)) != 4:
        return False
    if sum(ord(c) for c in uppers) != 300:
        return False
        
    # Final check: A global weighted ASCII sum across the entire string
    return sum((i + 1) * ord(c) for i, c in enumerate(x)) == 5524
"adef5480FKMN"
"abcj5480IJLM"
Proposer: gemini-3-flash-preview Solver: claude-haiku-4-5
0 vs -1
#9 Solved
def mystery(x):
    if not isinstance(x, str) or len(x) != 7:
        return False
    
    # Structure: 2 digits, 3 lowercase, 2 uppercase
    digits = x[:2]
    lowers = x[2:5]
    uppers = x[5:]
    
    # Digits must be distinct, non-zero
    if not (digits.isdigit() and len(set(digits)) == 2 and '0' not in digits):
        return False
    
    # Lowercase must be in ascending order, distinct
    if not (lowers.islower() and lowers == ''.join(sorted(lowers)) and len(set(lowers)) == 3):
        return False
    
    # Uppercase must be in ascending order, distinct
    if not (uppers.isupper() and uppers == ''.join(sorted(uppers)) and len(set(uppers)) == 2):
        return False
    
    # Digit product equals number of unique letters
    digit_product = int(digits[0]) * int(digits[1])
    unique_letters = len(set(lowers + uppers))
    if digit_product != unique_letters:
        return False
    
    # Sum of lowercase positions equals product of uppercase positions
    lower_pos_sum = sum(ord(c) - ord('a') for c in lowers)
    upper_pos_prod = (ord(uppers[0]) - ord('A')) * (ord(uppers[1]) - ord('A'))
    if lower_pos_sum != upper_pos_prod:
        return False
    
    # First digit must be less than second digit
    if int(digits[0]) >= int(digits[1]):
        return False
    
    return True
"15abcBD"
"15abeBF"
Proposer: claude-haiku-4-5 Solver: gemini-3-flash-preview
0 vs -1
#10 Solver Failed
def mystery(x):
    if not (isinstance(x, str) and len(x) == 15):
        return False
    
    # Structural check: must follow the pattern XXXXX-NNN-YYYYY
    if x[5] != '-' or x[9] != '-':
        return False
    
    p1 = x[:5]
    p2 = x[6:9]
    p3 = x[10:]
    
    # Part 1 and Part 3: Unique uppercase letters, with no overlap
    if not (p1.isalpha() and p1.isupper() and len(set(p1)) == 5):
        return False
    if not (p3.isalpha() and p3.isupper() and len(set(p3)) == 5):
        return False
    if not set(p1).isdisjoint(p3):
        return False
    
    # Part 2: Three unique digits
    if not (p2.isdigit() and len(set(p2)) == 3):
        return False
        
    # Bitwise XOR sum constraints for the letter blocks
    xor1 = 0
    for char in p1:
        xor1 ^= ord(char)
    xor3 = 0
    for char in p3:
        xor3 ^= ord(char)
        
    if xor1 != 76 or xor3 != 93:
        return False
        
    # Relationship between letter block sums and the numeric middle part
    s1 = sum(ord(c) for c in p1)
    s3 = sum(ord(c) for c in p3)
    if int(p2) != (s1 - s3) * 5 + 100:
        return False
        
    # Final global weighted check
    return sum((i + 1) * ord(c) for i, c in enumerate(x)) == 8006
"JKLNO-215-ABCGZ"
"CRYPT-285-GAMES"
Proposer: gemini-3-flash-preview Solver: claude-haiku-4-5
0 vs 0