FA-84296 / Sports scoring and tiebreakers / Open access
Genuine ties split by name or partial countback · case 01
Athletes identical on every criterion receive different places.
ROOT CAUSE
The tie comparison includes the athlete name.
VERIFIED REPAIR
Compare only best height, failures at best and total failures.
Unsuccessful approach: Comparing only the first two criteria shares places that the total-failure countback separates.
Case contract
High jump placing. records rows are [name, [[height_cm, attempts], ...]] where attempts is a string of X (failure), O (clearance) or "-" (pass). Best height is the highest cleared. Rank by best height descending, then fewest failures at the best height, then fewest total failures at heights up to and including the best; athletes equal on all three share the place (the next place is skipped). Athletes without a clearance come last with place None in name order. Return [place, name, best].
Why this case matters
Vertical jump results depend on countback rules that are easy to misapply.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(records):
rows = []
nh = []
for name, heights in records:
cleared = [h for h, s in heights if 'O' in s]
if not cleared:
nh.append(name)
continue
best = max(cleared)
at_best = sum(s.count('X') for h, s in heights if h == best)
total = sum(s.count('X') for h, s in heights if h <= best)
rows.append((-best, at_best, total, name))
rows.sort()
out = []
for i, r in enumerate(rows):
if i and rows[i - 1] == r:
place = out[-1][0]
else:
place = i + 1
out.append([place, r[3], -r[0]])
for name in sorted(nh):
out.append([None, name, None])
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
def run(args):
try:
return solve(*args)
except Exception as exc:
return 'raised ' + type(exc).__name__
cases = [[('control higher clearance wins',
([['Ade', [[180, 'O'], [183, 'XXX']]], ['Bo', [[180, 'O'], [183, 'O']]]],),
[[1, 'Bo', 183], [2, 'Ade', 180]]),
('boundary fewer misses at best',
([['Ade', [[180, 'XO']]], ['Bo', [[180, 'O']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary total misses countback',
([['Ade', [[177, 'XO'], [180, 'O'], [183, 'XXX']]],
['Bo', [[177, 'O'], [180, 'O'], [183, 'XXX']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary true tie shares place',
([['Cy', [[180, 'XO']]], ['Ade', [[180, 'XO']]], ['Bo', [[177, 'O']]]],),
[[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]]),
('control no height',
([['Dee', [[180, 'XXX']]], ['Ade', [[180, 'O']]]],),
[[1, 'Ade', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Dee', [[180, 'O'], [183, 'O'], [186, 'XXO'], [189, 'XXO'], [192, 'O'], [195, 'O']]],
['Bo', [[180, 'XX-'], [183, 'XO'], [186, 'X-'], [189, 'XO'], [192, 'O'], [195, 'O']]],
['Ade', [[180, 'XXX']]]],),
[[1, 'Dee', 195], [2, 'Bo', 195], [None, 'Ade', None]]),
('regression: shared place key',
([['Eli', [[180, 'O'], [183, 'XXO'], [186, 'O']]],
['Fay', [[180, 'XO'], [183, 'XO'], [186, 'XX-']]],
['Dee', [[180, 'XO'], [183, 'X-'], [186, 'X-']]],
['Ade', [[180, '-'], [183, '-'], [186, 'XO']]],
['Cy', [[180, 'XO'], [183, '-'], [186, 'XX-']]]],),
[[1, 'Eli', 186], [2, 'Ade', 186], [3, 'Fay', 183], [4, 'Cy', 180], [4, 'Dee', 180]]),
('variant scenario 1',
([['Cy', [[180, 'X-'], [183, 'XO'], [186, 'O'], [189, '-'], [192, 'XO'], [195, 'O']]],
['Eli', [[180, 'XXX']]],
['Dee', [[180, 'XO'], [183, 'O'], [186, 'XXX']]]],),
[[1, 'Cy', 195], [2, 'Dee', 183], [None, 'Eli', None]]),
('variant scenario 2',
([['Eli', [[180, 'XX-'], [183, 'X-'], [186, 'O'], [189, 'O'], [192, 'XXO']]],
['Fay', [[180, 'O'], [183, 'O'], [186, 'XXX']]]],),
[[1, 'Eli', 192], [2, 'Fay', 183]])],
[('control higher clearance wins',
([['Ade', [[180, 'O'], [183, 'XXX']]], ['Bo', [[180, 'O'], [183, 'O']]]],),
[[1, 'Bo', 183], [2, 'Ade', 180]]),
('boundary fewer misses at best',
([['Ade', [[180, 'XO']]], ['Bo', [[180, 'O']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary total misses countback',
([['Ade', [[177, 'XO'], [180, 'O'], [183, 'XXX']]],
['Bo', [[177, 'O'], [180, 'O'], [183, 'XXX']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary true tie shares place',
([['Cy', [[180, 'XO']]], ['Ade', [[180, 'XO']]], ['Bo', [[177, 'O']]]],),
[[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]]),
('control no height',
([['Dee', [[180, 'XXX']]], ['Ade', [[180, 'O']]]],),
[[1, 'Ade', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Bo', [[180, 'O'], [183, 'O'], [186, 'XX-'], [189, 'XX-'], [192, 'XO']]],
['Eli', [[180, 'O'], [183, '-'], [186, 'XXO'], [189, 'X-'], [192, 'O']]],
['Fay', [[180, 'X-'], [183, 'X-'], [186, 'XX-'], [189, 'O'], [192, 'XO']]]],),
[[1, 'Eli', 192], [2, 'Bo', 192], [2, 'Fay', 192]]),
('regression: shared place key',
([['Bo', [[180, 'XO'], [183, 'XX-'], [186, 'XX-']]],
['Ade', [[180, 'XXX']]],
['Dee', [[180, 'O'], [183, '-'], [186, 'O']]],
['Cy', [[180, 'O'], [183, 'XXO'], [186, 'O']]],
['Eli', [[180, 'XXO'], [183, '-'], [186, 'O']]]],),
[[1, 'Dee', 186], [2, 'Cy', 186], [2, 'Eli', 186], [4, 'Bo', 180], [None, 'Ade', None]]),
('variant scenario 1',
([['Eli', [[180, 'XX-'], [183, 'X-'], [186, '-'], [189, 'O'], [192, 'XO']]],
['Ade', [[180, 'O'], [183, 'O'], [186, 'XXO'], [189, 'XXO'], [192, 'O']]],
['Bo', [[180, 'X-'], [183, 'XX-'], [186, 'XX-'], [189, '-'], [192, 'XXX']]],
['Cy', [[180, 'XXX']]]],),
[[1, 'Ade', 192], [2, 'Eli', 192], [None, 'Bo', None], [None, 'Cy', None]]),
('variant scenario 2',
([['Eli', [[180, 'XO'], [183, 'X-'], [186, 'X-']]],
['Cy', [[180, 'X-'], [183, 'XX-'], [186, 'X-']]]],),
[[1, 'Eli', 180], [None, 'Cy', None]])],
[('control higher clearance wins',
([['Ade', [[180, 'O'], [183, 'XXX']]], ['Bo', [[180, 'O'], [183, 'O']]]],),
[[1, 'Bo', 183], [2, 'Ade', 180]]),
('boundary fewer misses at best',
([['Ade', [[180, 'XO']]], ['Bo', [[180, 'O']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary total misses countback',
([['Ade', [[177, 'XO'], [180, 'O'], [183, 'XXX']]],
['Bo', [[177, 'O'], [180, 'O'], [183, 'XXX']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary true tie shares place',
([['Cy', [[180, 'XO']]], ['Ade', [[180, 'XO']]], ['Bo', [[177, 'O']]]],),
[[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]]),
('control no height',
([['Dee', [[180, 'XXX']]], ['Ade', [[180, 'O']]]],),
[[1, 'Ade', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Bo', [[180, 'XO'], [183, 'O'], [186, 'XXX']]],
['Eli', [[180, 'XXO'], [183, 'X-'], [186, 'XXO']]],
['Dee', [[180, 'O'], [183, '-'], [186, 'XXO']]],
['Ade', [[180, 'X-'], [183, 'XO'], [186, 'XX-']]]],),
[[1, 'Dee', 186], [2, 'Eli', 186], [3, 'Bo', 183], [4, 'Ade', 183]]),
('regression: shared place key',
([['Dee', [[180, 'XO'], [183, 'O'], [186, 'O']]],
['Ade', [[180, '-'], [183, 'X-'], [186, 'O']]],
['Eli', [[180, 'XO'], [183, 'XXX']]]],),
[[1, 'Ade', 186], [1, 'Dee', 186], [3, 'Eli', 180]]),
('variant scenario 1',
([['Bo', [[180, 'XX-'], [183, 'O'], [186, 'XX-']]],
['Cy', [[180, 'O'], [183, '-'], [186, 'XX-']]],
['Dee', [[180, '-'], [183, '-'], [186, 'XO']]]],),
[[1, 'Dee', 186], [2, 'Bo', 183], [3, 'Cy', 180]]),
('variant scenario 2',
([['Fay', [[180, 'XXX']]],
['Ade', [[180, 'XXO'], [183, '-'], [186, 'O'], [189, 'XXX']]],
['Cy', [[180, 'O'], [183, 'XO'], [186, 'XO'], [189, 'O']]]],),
[[1, 'Cy', 189], [2, 'Ade', 186], [None, 'Fay', None]])],
[('control higher clearance wins',
([['Ade', [[180, 'O'], [183, 'XXX']]], ['Bo', [[180, 'O'], [183, 'O']]]],),
[[1, 'Bo', 183], [2, 'Ade', 180]]),
('boundary fewer misses at best',
([['Ade', [[180, 'XO']]], ['Bo', [[180, 'O']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary total misses countback',
([['Ade', [[177, 'XO'], [180, 'O'], [183, 'XXX']]],
['Bo', [[177, 'O'], [180, 'O'], [183, 'XXX']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary true tie shares place',
([['Cy', [[180, 'XO']]], ['Ade', [[180, 'XO']]], ['Bo', [[177, 'O']]]],),
[[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]]),
('control no height',
([['Dee', [[180, 'XXX']]], ['Ade', [[180, 'O']]]],),
[[1, 'Ade', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Dee', [[180, 'XO'], [183, 'O'], [186, '-'], [189, 'X-'], [192, 'O'], [195, 'O']]],
['Bo', [[180, 'XXX']]],
['Eli', [[180, 'XO'], [183, 'O'], [186, 'XO'], [189, 'XX-'], [192, 'X-'], [195, 'XO']]],
['Ade', [[180, 'XO'], [183, 'XXO'], [186, 'XO'], [189, 'O'], [192, 'O'], [195, 'XO']]],
['Fay', [[180, 'XXX']]]],),
[[1, 'Dee', 195], [2, 'Ade', 195], [3, 'Eli', 195], [None, 'Bo', None], [None, 'Fay', None]]),
('regression: shared place key',
([['Dee', [[180, '-'], [183, 'XXO'], [186, 'XXX']]],
['Cy', [[180, 'O'], [183, 'XXO'], [186, 'X-']]],
['Ade', [[180, 'X-'], [183, 'X-'], [186, 'O']]]],),
[[1, 'Ade', 186], [2, 'Cy', 183], [2, 'Dee', 183]]),
('variant scenario 1',
([['Bo', [[180, 'XO'], [183, '-'], [186, 'O'], [189, '-']]],
['Cy', [[180, '-'], [183, 'XXX']]],
['Fay', [[180, 'XXO'], [183, 'XXX']]],
['Eli', [[180, 'X-'], [183, 'O'], [186, 'O'], [189, 'O']]]],),
[[1, 'Eli', 189], [2, 'Bo', 186], [3, 'Fay', 180], [None, 'Cy', None]]),
('variant scenario 2',
([['Dee', [[180, 'O'], [183, 'O'], [186, 'XO'], [189, 'XXO'], [192, 'O']]],
['Eli', [[180, 'X-'], [183, 'XXO'], [186, '-'], [189, 'XX-'], [192, '-']]]],),
[[1, 'Dee', 192], [2, 'Eli', 183]])],
[('control higher clearance wins',
([['Ade', [[180, 'O'], [183, 'XXX']]], ['Bo', [[180, 'O'], [183, 'O']]]],),
[[1, 'Bo', 183], [2, 'Ade', 180]]),
('boundary fewer misses at best',
([['Ade', [[180, 'XO']]], ['Bo', [[180, 'O']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary total misses countback',
([['Ade', [[177, 'XO'], [180, 'O'], [183, 'XXX']]],
['Bo', [[177, 'O'], [180, 'O'], [183, 'XXX']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary true tie shares place',
([['Cy', [[180, 'XO']]], ['Ade', [[180, 'XO']]], ['Bo', [[177, 'O']]]],),
[[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]]),
('control no height',
([['Dee', [[180, 'XXX']]], ['Ade', [[180, 'O']]]],),
[[1, 'Ade', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Eli', [[180, '-'], [183, 'XO'], [186, 'X-'], [189, 'XO'], [192, 'X-']]],
['Bo', [[180, 'O'], [183, 'X-'], [186, 'XXX']]],
['Dee', [[180, 'XXX']]],
['Ade', [[180, 'O'], [183, '-'], [186, 'O'], [189, 'O'], [192, 'O']]],
['Fay', [[180, 'O'], [183, 'XX-'], [186, 'XO'], [189, '-'], [192, 'O']]]],),
[[1, 'Ade', 192], [2, 'Fay', 192], [3, 'Eli', 189], [4, 'Bo', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Bo', [[180, 'XXO'], [183, 'XXX']]],
['Ade', [[180, '-'], [183, 'XO'], [186, 'XXX']]],
['Fay', [[180, 'O'], [183, 'O'], [186, '-'], [189, 'O']]],
['Cy', [[180, '-'], [183, 'O'], [186, 'O'], [189, 'O']]],
['Dee', [[180, 'O'], [183, '-'], [186, 'X-'], [189, 'X-']]]],),
[[1, 'Cy', 189], [1, 'Fay', 189], [3, 'Ade', 183], [4, 'Dee', 180], [5, 'Bo', 180]]),
('variant scenario 1',
([['Ade', [[180, 'XXX']]],
['Eli', [[180, 'XO'], [183, 'XO'], [186, '-'], [189, 'XXO'], [192, 'XXO']]],
['Dee', [[180, 'XXX']]]],),
[[1, 'Eli', 192], [None, 'Ade', None], [None, 'Dee', None]]),
('variant scenario 2',
([['Ade', [[180, 'XXX']]],
['Eli', [[180, 'O'], [183, 'XXO'], [186, '-']]],
['Cy', [[180, 'XO'], [183, 'O'], [186, 'XO']]]],),
[[1, 'Cy', 186], [2, 'Eli', 183], [None, 'Ade', None]])]]
for label, args, expected in cases[N - 1]:
check(label, run(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| control higher clearance wins | [[1, 'Bo', 183], [2, 'Ade', 180]] | [[1, 'Bo', 183], [2, 'Ade', 180]] | Passed |
| boundary fewer misses at best | [[1, 'Bo', 180], [2, 'Ade', 180]] | [[1, 'Bo', 180], [2, 'Ade', 180]] | Passed |
| boundary total misses countback | [[1, 'Bo', 180], [2, 'Ade', 180]] | [[1, 'Bo', 180], [2, 'Ade', 180]] | Passed |
| boundary true tie shares place | [[1, 'Ade', 180], [2, 'Cy', 180], [3, 'Bo', 177]] | [[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]] | Failed |
| control no height | [[1, 'Ade', 180], [None, 'Dee', None]] | [[1, 'Ade', 180], [None, 'Dee', None]] | Passed |
| regression: shared place key | [[1, 'Dee', 195], [2, 'Bo', 195], [None, 'Ade', None]] | [[1, 'Dee', 195], [2, 'Bo', 195], [None, 'Ade', None]] | Passed |
| regression: shared place key | [[1, 'Eli', 186], [2, 'Ade', 186], [3, 'Fay', 183], [4, 'Cy', 180], [5, 'Dee', 180]] | [[1, 'Eli', 186], [2, 'Ade', 186], [3, 'Fay', 183], [4, 'Cy', 180], [4, 'Dee', 180]] | Failed |
| variant scenario 1 | [[1, 'Cy', 195], [2, 'Dee', 183], [None, 'Eli', None]] | [[1, 'Cy', 195], [2, 'Dee', 183], [None, 'Eli', None]] | Passed |
| variant scenario 2 | [[1, 'Eli', 192], [2, 'Fay', 183]] | [[1, 'Eli', 192], [2, 'Fay', 183]] | Passed |
SHA-256 / 76972bd6316676ddb46265bd917b5cfed455efe79cb3a22fdadf5d2ba35cba76
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(records):
rows = []
nh = []
for name, heights in records:
cleared = [h for h, s in heights if 'O' in s]
if not cleared:
nh.append(name)
continue
best = max(cleared)
at_best = sum(s.count('X') for h, s in heights if h == best)
total = sum(s.count('X') for h, s in heights if h <= best)
rows.append((-best, at_best, total, name))
rows.sort()
out = []
for i, r in enumerate(rows):
if i and rows[i - 1][:2] == r[:2]:
place = out[-1][0]
else:
place = i + 1
out.append([place, r[3], -r[0]])
for name in sorted(nh):
out.append([None, name, None])
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
def run(args):
try:
return solve(*args)
except Exception as exc:
return 'raised ' + type(exc).__name__
cases = [[('control higher clearance wins',
([['Ade', [[180, 'O'], [183, 'XXX']]], ['Bo', [[180, 'O'], [183, 'O']]]],),
[[1, 'Bo', 183], [2, 'Ade', 180]]),
('boundary fewer misses at best',
([['Ade', [[180, 'XO']]], ['Bo', [[180, 'O']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary total misses countback',
([['Ade', [[177, 'XO'], [180, 'O'], [183, 'XXX']]],
['Bo', [[177, 'O'], [180, 'O'], [183, 'XXX']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary true tie shares place',
([['Cy', [[180, 'XO']]], ['Ade', [[180, 'XO']]], ['Bo', [[177, 'O']]]],),
[[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]]),
('control no height',
([['Dee', [[180, 'XXX']]], ['Ade', [[180, 'O']]]],),
[[1, 'Ade', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Dee', [[180, 'O'], [183, 'O'], [186, 'XXO'], [189, 'XXO'], [192, 'O'], [195, 'O']]],
['Bo', [[180, 'XX-'], [183, 'XO'], [186, 'X-'], [189, 'XO'], [192, 'O'], [195, 'O']]],
['Ade', [[180, 'XXX']]]],),
[[1, 'Dee', 195], [2, 'Bo', 195], [None, 'Ade', None]]),
('regression: shared place key',
([['Eli', [[180, 'O'], [183, 'XXO'], [186, 'O']]],
['Fay', [[180, 'XO'], [183, 'XO'], [186, 'XX-']]],
['Dee', [[180, 'XO'], [183, 'X-'], [186, 'X-']]],
['Ade', [[180, '-'], [183, '-'], [186, 'XO']]],
['Cy', [[180, 'XO'], [183, '-'], [186, 'XX-']]]],),
[[1, 'Eli', 186], [2, 'Ade', 186], [3, 'Fay', 183], [4, 'Cy', 180], [4, 'Dee', 180]]),
('variant scenario 1',
([['Cy', [[180, 'X-'], [183, 'XO'], [186, 'O'], [189, '-'], [192, 'XO'], [195, 'O']]],
['Eli', [[180, 'XXX']]],
['Dee', [[180, 'XO'], [183, 'O'], [186, 'XXX']]]],),
[[1, 'Cy', 195], [2, 'Dee', 183], [None, 'Eli', None]]),
('variant scenario 2',
([['Eli', [[180, 'XX-'], [183, 'X-'], [186, 'O'], [189, 'O'], [192, 'XXO']]],
['Fay', [[180, 'O'], [183, 'O'], [186, 'XXX']]]],),
[[1, 'Eli', 192], [2, 'Fay', 183]])],
[('control higher clearance wins',
([['Ade', [[180, 'O'], [183, 'XXX']]], ['Bo', [[180, 'O'], [183, 'O']]]],),
[[1, 'Bo', 183], [2, 'Ade', 180]]),
('boundary fewer misses at best',
([['Ade', [[180, 'XO']]], ['Bo', [[180, 'O']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary total misses countback',
([['Ade', [[177, 'XO'], [180, 'O'], [183, 'XXX']]],
['Bo', [[177, 'O'], [180, 'O'], [183, 'XXX']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary true tie shares place',
([['Cy', [[180, 'XO']]], ['Ade', [[180, 'XO']]], ['Bo', [[177, 'O']]]],),
[[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]]),
('control no height',
([['Dee', [[180, 'XXX']]], ['Ade', [[180, 'O']]]],),
[[1, 'Ade', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Bo', [[180, 'O'], [183, 'O'], [186, 'XX-'], [189, 'XX-'], [192, 'XO']]],
['Eli', [[180, 'O'], [183, '-'], [186, 'XXO'], [189, 'X-'], [192, 'O']]],
['Fay', [[180, 'X-'], [183, 'X-'], [186, 'XX-'], [189, 'O'], [192, 'XO']]]],),
[[1, 'Eli', 192], [2, 'Bo', 192], [2, 'Fay', 192]]),
('regression: shared place key',
([['Bo', [[180, 'XO'], [183, 'XX-'], [186, 'XX-']]],
['Ade', [[180, 'XXX']]],
['Dee', [[180, 'O'], [183, '-'], [186, 'O']]],
['Cy', [[180, 'O'], [183, 'XXO'], [186, 'O']]],
['Eli', [[180, 'XXO'], [183, '-'], [186, 'O']]]],),
[[1, 'Dee', 186], [2, 'Cy', 186], [2, 'Eli', 186], [4, 'Bo', 180], [None, 'Ade', None]]),
('variant scenario 1',
([['Eli', [[180, 'XX-'], [183, 'X-'], [186, '-'], [189, 'O'], [192, 'XO']]],
['Ade', [[180, 'O'], [183, 'O'], [186, 'XXO'], [189, 'XXO'], [192, 'O']]],
['Bo', [[180, 'X-'], [183, 'XX-'], [186, 'XX-'], [189, '-'], [192, 'XXX']]],
['Cy', [[180, 'XXX']]]],),
[[1, 'Ade', 192], [2, 'Eli', 192], [None, 'Bo', None], [None, 'Cy', None]]),
('variant scenario 2',
([['Eli', [[180, 'XO'], [183, 'X-'], [186, 'X-']]],
['Cy', [[180, 'X-'], [183, 'XX-'], [186, 'X-']]]],),
[[1, 'Eli', 180], [None, 'Cy', None]])],
[('control higher clearance wins',
([['Ade', [[180, 'O'], [183, 'XXX']]], ['Bo', [[180, 'O'], [183, 'O']]]],),
[[1, 'Bo', 183], [2, 'Ade', 180]]),
('boundary fewer misses at best',
([['Ade', [[180, 'XO']]], ['Bo', [[180, 'O']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary total misses countback',
([['Ade', [[177, 'XO'], [180, 'O'], [183, 'XXX']]],
['Bo', [[177, 'O'], [180, 'O'], [183, 'XXX']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary true tie shares place',
([['Cy', [[180, 'XO']]], ['Ade', [[180, 'XO']]], ['Bo', [[177, 'O']]]],),
[[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]]),
('control no height',
([['Dee', [[180, 'XXX']]], ['Ade', [[180, 'O']]]],),
[[1, 'Ade', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Bo', [[180, 'XO'], [183, 'O'], [186, 'XXX']]],
['Eli', [[180, 'XXO'], [183, 'X-'], [186, 'XXO']]],
['Dee', [[180, 'O'], [183, '-'], [186, 'XXO']]],
['Ade', [[180, 'X-'], [183, 'XO'], [186, 'XX-']]]],),
[[1, 'Dee', 186], [2, 'Eli', 186], [3, 'Bo', 183], [4, 'Ade', 183]]),
('regression: shared place key',
([['Dee', [[180, 'XO'], [183, 'O'], [186, 'O']]],
['Ade', [[180, '-'], [183, 'X-'], [186, 'O']]],
['Eli', [[180, 'XO'], [183, 'XXX']]]],),
[[1, 'Ade', 186], [1, 'Dee', 186], [3, 'Eli', 180]]),
('variant scenario 1',
([['Bo', [[180, 'XX-'], [183, 'O'], [186, 'XX-']]],
['Cy', [[180, 'O'], [183, '-'], [186, 'XX-']]],
['Dee', [[180, '-'], [183, '-'], [186, 'XO']]]],),
[[1, 'Dee', 186], [2, 'Bo', 183], [3, 'Cy', 180]]),
('variant scenario 2',
([['Fay', [[180, 'XXX']]],
['Ade', [[180, 'XXO'], [183, '-'], [186, 'O'], [189, 'XXX']]],
['Cy', [[180, 'O'], [183, 'XO'], [186, 'XO'], [189, 'O']]]],),
[[1, 'Cy', 189], [2, 'Ade', 186], [None, 'Fay', None]])],
[('control higher clearance wins',
([['Ade', [[180, 'O'], [183, 'XXX']]], ['Bo', [[180, 'O'], [183, 'O']]]],),
[[1, 'Bo', 183], [2, 'Ade', 180]]),
('boundary fewer misses at best',
([['Ade', [[180, 'XO']]], ['Bo', [[180, 'O']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary total misses countback',
([['Ade', [[177, 'XO'], [180, 'O'], [183, 'XXX']]],
['Bo', [[177, 'O'], [180, 'O'], [183, 'XXX']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary true tie shares place',
([['Cy', [[180, 'XO']]], ['Ade', [[180, 'XO']]], ['Bo', [[177, 'O']]]],),
[[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]]),
('control no height',
([['Dee', [[180, 'XXX']]], ['Ade', [[180, 'O']]]],),
[[1, 'Ade', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Dee', [[180, 'XO'], [183, 'O'], [186, '-'], [189, 'X-'], [192, 'O'], [195, 'O']]],
['Bo', [[180, 'XXX']]],
['Eli', [[180, 'XO'], [183, 'O'], [186, 'XO'], [189, 'XX-'], [192, 'X-'], [195, 'XO']]],
['Ade', [[180, 'XO'], [183, 'XXO'], [186, 'XO'], [189, 'O'], [192, 'O'], [195, 'XO']]],
['Fay', [[180, 'XXX']]]],),
[[1, 'Dee', 195], [2, 'Ade', 195], [3, 'Eli', 195], [None, 'Bo', None], [None, 'Fay', None]]),
('regression: shared place key',
([['Dee', [[180, '-'], [183, 'XXO'], [186, 'XXX']]],
['Cy', [[180, 'O'], [183, 'XXO'], [186, 'X-']]],
['Ade', [[180, 'X-'], [183, 'X-'], [186, 'O']]]],),
[[1, 'Ade', 186], [2, 'Cy', 183], [2, 'Dee', 183]]),
('variant scenario 1',
([['Bo', [[180, 'XO'], [183, '-'], [186, 'O'], [189, '-']]],
['Cy', [[180, '-'], [183, 'XXX']]],
['Fay', [[180, 'XXO'], [183, 'XXX']]],
['Eli', [[180, 'X-'], [183, 'O'], [186, 'O'], [189, 'O']]]],),
[[1, 'Eli', 189], [2, 'Bo', 186], [3, 'Fay', 180], [None, 'Cy', None]]),
('variant scenario 2',
([['Dee', [[180, 'O'], [183, 'O'], [186, 'XO'], [189, 'XXO'], [192, 'O']]],
['Eli', [[180, 'X-'], [183, 'XXO'], [186, '-'], [189, 'XX-'], [192, '-']]]],),
[[1, 'Dee', 192], [2, 'Eli', 183]])],
[('control higher clearance wins',
([['Ade', [[180, 'O'], [183, 'XXX']]], ['Bo', [[180, 'O'], [183, 'O']]]],),
[[1, 'Bo', 183], [2, 'Ade', 180]]),
('boundary fewer misses at best',
([['Ade', [[180, 'XO']]], ['Bo', [[180, 'O']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary total misses countback',
([['Ade', [[177, 'XO'], [180, 'O'], [183, 'XXX']]],
['Bo', [[177, 'O'], [180, 'O'], [183, 'XXX']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary true tie shares place',
([['Cy', [[180, 'XO']]], ['Ade', [[180, 'XO']]], ['Bo', [[177, 'O']]]],),
[[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]]),
('control no height',
([['Dee', [[180, 'XXX']]], ['Ade', [[180, 'O']]]],),
[[1, 'Ade', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Eli', [[180, '-'], [183, 'XO'], [186, 'X-'], [189, 'XO'], [192, 'X-']]],
['Bo', [[180, 'O'], [183, 'X-'], [186, 'XXX']]],
['Dee', [[180, 'XXX']]],
['Ade', [[180, 'O'], [183, '-'], [186, 'O'], [189, 'O'], [192, 'O']]],
['Fay', [[180, 'O'], [183, 'XX-'], [186, 'XO'], [189, '-'], [192, 'O']]]],),
[[1, 'Ade', 192], [2, 'Fay', 192], [3, 'Eli', 189], [4, 'Bo', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Bo', [[180, 'XXO'], [183, 'XXX']]],
['Ade', [[180, '-'], [183, 'XO'], [186, 'XXX']]],
['Fay', [[180, 'O'], [183, 'O'], [186, '-'], [189, 'O']]],
['Cy', [[180, '-'], [183, 'O'], [186, 'O'], [189, 'O']]],
['Dee', [[180, 'O'], [183, '-'], [186, 'X-'], [189, 'X-']]]],),
[[1, 'Cy', 189], [1, 'Fay', 189], [3, 'Ade', 183], [4, 'Dee', 180], [5, 'Bo', 180]]),
('variant scenario 1',
([['Ade', [[180, 'XXX']]],
['Eli', [[180, 'XO'], [183, 'XO'], [186, '-'], [189, 'XXO'], [192, 'XXO']]],
['Dee', [[180, 'XXX']]]],),
[[1, 'Eli', 192], [None, 'Ade', None], [None, 'Dee', None]]),
('variant scenario 2',
([['Ade', [[180, 'XXX']]],
['Eli', [[180, 'O'], [183, 'XXO'], [186, '-']]],
['Cy', [[180, 'XO'], [183, 'O'], [186, 'XO']]]],),
[[1, 'Cy', 186], [2, 'Eli', 183], [None, 'Ade', None]])]]
for label, args, expected in cases[N - 1]:
check(label, run(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| control higher clearance wins | [[1, 'Bo', 183], [2, 'Ade', 180]] | [[1, 'Bo', 183], [2, 'Ade', 180]] | Passed |
| boundary fewer misses at best | [[1, 'Bo', 180], [2, 'Ade', 180]] | [[1, 'Bo', 180], [2, 'Ade', 180]] | Passed |
| boundary total misses countback | [[1, 'Bo', 180], [1, 'Ade', 180]] | [[1, 'Bo', 180], [2, 'Ade', 180]] | Failed |
| boundary true tie shares place | [[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]] | [[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]] | Passed |
| control no height | [[1, 'Ade', 180], [None, 'Dee', None]] | [[1, 'Ade', 180], [None, 'Dee', None]] | Passed |
| regression: shared place key | [[1, 'Dee', 195], [1, 'Bo', 195], [None, 'Ade', None]] | [[1, 'Dee', 195], [2, 'Bo', 195], [None, 'Ade', None]] | Failed |
| regression: shared place key | [[1, 'Eli', 186], [2, 'Ade', 186], [3, 'Fay', 183], [4, 'Cy', 180], [4, 'Dee', 180]] | [[1, 'Eli', 186], [2, 'Ade', 186], [3, 'Fay', 183], [4, 'Cy', 180], [4, 'Dee', 180]] | Passed |
| variant scenario 1 | [[1, 'Cy', 195], [2, 'Dee', 183], [None, 'Eli', None]] | [[1, 'Cy', 195], [2, 'Dee', 183], [None, 'Eli', None]] | Passed |
| variant scenario 2 | [[1, 'Eli', 192], [2, 'Fay', 183]] | [[1, 'Eli', 192], [2, 'Fay', 183]] | Passed |
SHA-256 / 8ad3f257b39366e9aab93e648b6dfab749e046361dd399c171636ec941ff5a0b
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(records):
rows = []
nh = []
for name, heights in records:
cleared = [h for h, s in heights if 'O' in s]
if not cleared:
nh.append(name)
continue
best = max(cleared)
at_best = sum(s.count('X') for h, s in heights if h == best)
total = sum(s.count('X') for h, s in heights if h <= best)
rows.append((-best, at_best, total, name))
rows.sort()
out = []
for i, r in enumerate(rows):
if i and rows[i - 1][:3] == r[:3]:
place = out[-1][0]
else:
place = i + 1
out.append([place, r[3], -r[0]])
for name in sorted(nh):
out.append([None, name, None])
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
def run(args):
try:
return solve(*args)
except Exception as exc:
return 'raised ' + type(exc).__name__
cases = [[('control higher clearance wins',
([['Ade', [[180, 'O'], [183, 'XXX']]], ['Bo', [[180, 'O'], [183, 'O']]]],),
[[1, 'Bo', 183], [2, 'Ade', 180]]),
('boundary fewer misses at best',
([['Ade', [[180, 'XO']]], ['Bo', [[180, 'O']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary total misses countback',
([['Ade', [[177, 'XO'], [180, 'O'], [183, 'XXX']]],
['Bo', [[177, 'O'], [180, 'O'], [183, 'XXX']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary true tie shares place',
([['Cy', [[180, 'XO']]], ['Ade', [[180, 'XO']]], ['Bo', [[177, 'O']]]],),
[[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]]),
('control no height',
([['Dee', [[180, 'XXX']]], ['Ade', [[180, 'O']]]],),
[[1, 'Ade', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Dee', [[180, 'O'], [183, 'O'], [186, 'XXO'], [189, 'XXO'], [192, 'O'], [195, 'O']]],
['Bo', [[180, 'XX-'], [183, 'XO'], [186, 'X-'], [189, 'XO'], [192, 'O'], [195, 'O']]],
['Ade', [[180, 'XXX']]]],),
[[1, 'Dee', 195], [2, 'Bo', 195], [None, 'Ade', None]]),
('regression: shared place key',
([['Eli', [[180, 'O'], [183, 'XXO'], [186, 'O']]],
['Fay', [[180, 'XO'], [183, 'XO'], [186, 'XX-']]],
['Dee', [[180, 'XO'], [183, 'X-'], [186, 'X-']]],
['Ade', [[180, '-'], [183, '-'], [186, 'XO']]],
['Cy', [[180, 'XO'], [183, '-'], [186, 'XX-']]]],),
[[1, 'Eli', 186], [2, 'Ade', 186], [3, 'Fay', 183], [4, 'Cy', 180], [4, 'Dee', 180]]),
('variant scenario 1',
([['Cy', [[180, 'X-'], [183, 'XO'], [186, 'O'], [189, '-'], [192, 'XO'], [195, 'O']]],
['Eli', [[180, 'XXX']]],
['Dee', [[180, 'XO'], [183, 'O'], [186, 'XXX']]]],),
[[1, 'Cy', 195], [2, 'Dee', 183], [None, 'Eli', None]]),
('variant scenario 2',
([['Eli', [[180, 'XX-'], [183, 'X-'], [186, 'O'], [189, 'O'], [192, 'XXO']]],
['Fay', [[180, 'O'], [183, 'O'], [186, 'XXX']]]],),
[[1, 'Eli', 192], [2, 'Fay', 183]])],
[('control higher clearance wins',
([['Ade', [[180, 'O'], [183, 'XXX']]], ['Bo', [[180, 'O'], [183, 'O']]]],),
[[1, 'Bo', 183], [2, 'Ade', 180]]),
('boundary fewer misses at best',
([['Ade', [[180, 'XO']]], ['Bo', [[180, 'O']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary total misses countback',
([['Ade', [[177, 'XO'], [180, 'O'], [183, 'XXX']]],
['Bo', [[177, 'O'], [180, 'O'], [183, 'XXX']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary true tie shares place',
([['Cy', [[180, 'XO']]], ['Ade', [[180, 'XO']]], ['Bo', [[177, 'O']]]],),
[[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]]),
('control no height',
([['Dee', [[180, 'XXX']]], ['Ade', [[180, 'O']]]],),
[[1, 'Ade', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Bo', [[180, 'O'], [183, 'O'], [186, 'XX-'], [189, 'XX-'], [192, 'XO']]],
['Eli', [[180, 'O'], [183, '-'], [186, 'XXO'], [189, 'X-'], [192, 'O']]],
['Fay', [[180, 'X-'], [183, 'X-'], [186, 'XX-'], [189, 'O'], [192, 'XO']]]],),
[[1, 'Eli', 192], [2, 'Bo', 192], [2, 'Fay', 192]]),
('regression: shared place key',
([['Bo', [[180, 'XO'], [183, 'XX-'], [186, 'XX-']]],
['Ade', [[180, 'XXX']]],
['Dee', [[180, 'O'], [183, '-'], [186, 'O']]],
['Cy', [[180, 'O'], [183, 'XXO'], [186, 'O']]],
['Eli', [[180, 'XXO'], [183, '-'], [186, 'O']]]],),
[[1, 'Dee', 186], [2, 'Cy', 186], [2, 'Eli', 186], [4, 'Bo', 180], [None, 'Ade', None]]),
('variant scenario 1',
([['Eli', [[180, 'XX-'], [183, 'X-'], [186, '-'], [189, 'O'], [192, 'XO']]],
['Ade', [[180, 'O'], [183, 'O'], [186, 'XXO'], [189, 'XXO'], [192, 'O']]],
['Bo', [[180, 'X-'], [183, 'XX-'], [186, 'XX-'], [189, '-'], [192, 'XXX']]],
['Cy', [[180, 'XXX']]]],),
[[1, 'Ade', 192], [2, 'Eli', 192], [None, 'Bo', None], [None, 'Cy', None]]),
('variant scenario 2',
([['Eli', [[180, 'XO'], [183, 'X-'], [186, 'X-']]],
['Cy', [[180, 'X-'], [183, 'XX-'], [186, 'X-']]]],),
[[1, 'Eli', 180], [None, 'Cy', None]])],
[('control higher clearance wins',
([['Ade', [[180, 'O'], [183, 'XXX']]], ['Bo', [[180, 'O'], [183, 'O']]]],),
[[1, 'Bo', 183], [2, 'Ade', 180]]),
('boundary fewer misses at best',
([['Ade', [[180, 'XO']]], ['Bo', [[180, 'O']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary total misses countback',
([['Ade', [[177, 'XO'], [180, 'O'], [183, 'XXX']]],
['Bo', [[177, 'O'], [180, 'O'], [183, 'XXX']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary true tie shares place',
([['Cy', [[180, 'XO']]], ['Ade', [[180, 'XO']]], ['Bo', [[177, 'O']]]],),
[[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]]),
('control no height',
([['Dee', [[180, 'XXX']]], ['Ade', [[180, 'O']]]],),
[[1, 'Ade', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Bo', [[180, 'XO'], [183, 'O'], [186, 'XXX']]],
['Eli', [[180, 'XXO'], [183, 'X-'], [186, 'XXO']]],
['Dee', [[180, 'O'], [183, '-'], [186, 'XXO']]],
['Ade', [[180, 'X-'], [183, 'XO'], [186, 'XX-']]]],),
[[1, 'Dee', 186], [2, 'Eli', 186], [3, 'Bo', 183], [4, 'Ade', 183]]),
('regression: shared place key',
([['Dee', [[180, 'XO'], [183, 'O'], [186, 'O']]],
['Ade', [[180, '-'], [183, 'X-'], [186, 'O']]],
['Eli', [[180, 'XO'], [183, 'XXX']]]],),
[[1, 'Ade', 186], [1, 'Dee', 186], [3, 'Eli', 180]]),
('variant scenario 1',
([['Bo', [[180, 'XX-'], [183, 'O'], [186, 'XX-']]],
['Cy', [[180, 'O'], [183, '-'], [186, 'XX-']]],
['Dee', [[180, '-'], [183, '-'], [186, 'XO']]]],),
[[1, 'Dee', 186], [2, 'Bo', 183], [3, 'Cy', 180]]),
('variant scenario 2',
([['Fay', [[180, 'XXX']]],
['Ade', [[180, 'XXO'], [183, '-'], [186, 'O'], [189, 'XXX']]],
['Cy', [[180, 'O'], [183, 'XO'], [186, 'XO'], [189, 'O']]]],),
[[1, 'Cy', 189], [2, 'Ade', 186], [None, 'Fay', None]])],
[('control higher clearance wins',
([['Ade', [[180, 'O'], [183, 'XXX']]], ['Bo', [[180, 'O'], [183, 'O']]]],),
[[1, 'Bo', 183], [2, 'Ade', 180]]),
('boundary fewer misses at best',
([['Ade', [[180, 'XO']]], ['Bo', [[180, 'O']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary total misses countback',
([['Ade', [[177, 'XO'], [180, 'O'], [183, 'XXX']]],
['Bo', [[177, 'O'], [180, 'O'], [183, 'XXX']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary true tie shares place',
([['Cy', [[180, 'XO']]], ['Ade', [[180, 'XO']]], ['Bo', [[177, 'O']]]],),
[[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]]),
('control no height',
([['Dee', [[180, 'XXX']]], ['Ade', [[180, 'O']]]],),
[[1, 'Ade', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Dee', [[180, 'XO'], [183, 'O'], [186, '-'], [189, 'X-'], [192, 'O'], [195, 'O']]],
['Bo', [[180, 'XXX']]],
['Eli', [[180, 'XO'], [183, 'O'], [186, 'XO'], [189, 'XX-'], [192, 'X-'], [195, 'XO']]],
['Ade', [[180, 'XO'], [183, 'XXO'], [186, 'XO'], [189, 'O'], [192, 'O'], [195, 'XO']]],
['Fay', [[180, 'XXX']]]],),
[[1, 'Dee', 195], [2, 'Ade', 195], [3, 'Eli', 195], [None, 'Bo', None], [None, 'Fay', None]]),
('regression: shared place key',
([['Dee', [[180, '-'], [183, 'XXO'], [186, 'XXX']]],
['Cy', [[180, 'O'], [183, 'XXO'], [186, 'X-']]],
['Ade', [[180, 'X-'], [183, 'X-'], [186, 'O']]]],),
[[1, 'Ade', 186], [2, 'Cy', 183], [2, 'Dee', 183]]),
('variant scenario 1',
([['Bo', [[180, 'XO'], [183, '-'], [186, 'O'], [189, '-']]],
['Cy', [[180, '-'], [183, 'XXX']]],
['Fay', [[180, 'XXO'], [183, 'XXX']]],
['Eli', [[180, 'X-'], [183, 'O'], [186, 'O'], [189, 'O']]]],),
[[1, 'Eli', 189], [2, 'Bo', 186], [3, 'Fay', 180], [None, 'Cy', None]]),
('variant scenario 2',
([['Dee', [[180, 'O'], [183, 'O'], [186, 'XO'], [189, 'XXO'], [192, 'O']]],
['Eli', [[180, 'X-'], [183, 'XXO'], [186, '-'], [189, 'XX-'], [192, '-']]]],),
[[1, 'Dee', 192], [2, 'Eli', 183]])],
[('control higher clearance wins',
([['Ade', [[180, 'O'], [183, 'XXX']]], ['Bo', [[180, 'O'], [183, 'O']]]],),
[[1, 'Bo', 183], [2, 'Ade', 180]]),
('boundary fewer misses at best',
([['Ade', [[180, 'XO']]], ['Bo', [[180, 'O']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary total misses countback',
([['Ade', [[177, 'XO'], [180, 'O'], [183, 'XXX']]],
['Bo', [[177, 'O'], [180, 'O'], [183, 'XXX']]]],),
[[1, 'Bo', 180], [2, 'Ade', 180]]),
('boundary true tie shares place',
([['Cy', [[180, 'XO']]], ['Ade', [[180, 'XO']]], ['Bo', [[177, 'O']]]],),
[[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]]),
('control no height',
([['Dee', [[180, 'XXX']]], ['Ade', [[180, 'O']]]],),
[[1, 'Ade', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Eli', [[180, '-'], [183, 'XO'], [186, 'X-'], [189, 'XO'], [192, 'X-']]],
['Bo', [[180, 'O'], [183, 'X-'], [186, 'XXX']]],
['Dee', [[180, 'XXX']]],
['Ade', [[180, 'O'], [183, '-'], [186, 'O'], [189, 'O'], [192, 'O']]],
['Fay', [[180, 'O'], [183, 'XX-'], [186, 'XO'], [189, '-'], [192, 'O']]]],),
[[1, 'Ade', 192], [2, 'Fay', 192], [3, 'Eli', 189], [4, 'Bo', 180], [None, 'Dee', None]]),
('regression: shared place key',
([['Bo', [[180, 'XXO'], [183, 'XXX']]],
['Ade', [[180, '-'], [183, 'XO'], [186, 'XXX']]],
['Fay', [[180, 'O'], [183, 'O'], [186, '-'], [189, 'O']]],
['Cy', [[180, '-'], [183, 'O'], [186, 'O'], [189, 'O']]],
['Dee', [[180, 'O'], [183, '-'], [186, 'X-'], [189, 'X-']]]],),
[[1, 'Cy', 189], [1, 'Fay', 189], [3, 'Ade', 183], [4, 'Dee', 180], [5, 'Bo', 180]]),
('variant scenario 1',
([['Ade', [[180, 'XXX']]],
['Eli', [[180, 'XO'], [183, 'XO'], [186, '-'], [189, 'XXO'], [192, 'XXO']]],
['Dee', [[180, 'XXX']]]],),
[[1, 'Eli', 192], [None, 'Ade', None], [None, 'Dee', None]]),
('variant scenario 2',
([['Ade', [[180, 'XXX']]],
['Eli', [[180, 'O'], [183, 'XXO'], [186, '-']]],
['Cy', [[180, 'XO'], [183, 'O'], [186, 'XO']]]],),
[[1, 'Cy', 186], [2, 'Eli', 183], [None, 'Ade', None]])]]
for label, args, expected in cases[N - 1]:
check(label, run(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| control higher clearance wins | [[1, 'Bo', 183], [2, 'Ade', 180]] | [[1, 'Bo', 183], [2, 'Ade', 180]] | Passed |
| boundary fewer misses at best | [[1, 'Bo', 180], [2, 'Ade', 180]] | [[1, 'Bo', 180], [2, 'Ade', 180]] | Passed |
| boundary total misses countback | [[1, 'Bo', 180], [2, 'Ade', 180]] | [[1, 'Bo', 180], [2, 'Ade', 180]] | Passed |
| boundary true tie shares place | [[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]] | [[1, 'Ade', 180], [1, 'Cy', 180], [3, 'Bo', 177]] | Passed |
| control no height | [[1, 'Ade', 180], [None, 'Dee', None]] | [[1, 'Ade', 180], [None, 'Dee', None]] | Passed |
| regression: shared place key | [[1, 'Dee', 195], [2, 'Bo', 195], [None, 'Ade', None]] | [[1, 'Dee', 195], [2, 'Bo', 195], [None, 'Ade', None]] | Passed |
| regression: shared place key | [[1, 'Eli', 186], [2, 'Ade', 186], [3, 'Fay', 183], [4, 'Cy', 180], [4, 'Dee', 180]] | [[1, 'Eli', 186], [2, 'Ade', 186], [3, 'Fay', 183], [4, 'Cy', 180], [4, 'Dee', 180]] | Passed |
| variant scenario 1 | [[1, 'Cy', 195], [2, 'Dee', 183], [None, 'Eli', None]] | [[1, 'Cy', 195], [2, 'Dee', 183], [None, 'Eli', None]] | Passed |
| variant scenario 2 | [[1, 'Eli', 192], [2, 'Fay', 183]] | [[1, 'Eli', 192], [2, 'Fay', 183]] | Passed |
SHA-256 / 6f662e4c3031ca12c9b794851ebe6f281d733de7b3f5ada175468a9e2add0732
Verification & scope
Stipulated, bounded toy contract stated in the contract field; not a claim of conformance with any governing body rulebook or operator house rules. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.
Observations recorded using Python 3.12.14 at 2026-09-29T14:50:29.616440+00:00.
Case digest / 6e2851ddeb575df33097c220996caa2dd05820fc7d257a4cd3c8abfd1b21b885