Teaser 2483: [Cricket scores]
From The Sunday Times, 25th April 2010 [link]
George and Martha were watching cricket. After the visitors’ innings, George said: “How odd! Every time two batsmen were together, the partnership was broken when the team’s total was the product of their two batting-order numbers. But one partnership created a stand of over 50”. “And”, said Martha, “each time an odd-numbered batsman was out, the next batsman out was even-numbered. This continued until the dismissal of batsman 11”. The home side’s innings saw a similar pattern, but their biggest stand was higher.
What was (a) the home team’s biggest stand; (b) the result of the match?
This puzzle was originally published with no title.
[teaser2483]
Jim Randell 9:55 am on 18 November 2025 Permalink |
This Python program runs in 76ms. (Internal runtime is 238µs).
from enigma import (defaultdict, subsets, tuples, printf) # solve for pairs <a> and <b>, next batsman <n> def solve(a=1, b=2, n=3, ts=list(), bs=list()): if n < 13: # total score when this pair ends t = a * b if ts and t < ts[-1]: return if n == 12: # either of the final pair is dismissed yield (ts + [t], bs + [(a, b)]) else: # a is dismissed if not (a % 2 != 0 and bs and bs[-1] % 2 == 1): yield from solve(b, n, n + 1, ts + [t], bs + [a]) # b is dismissed if not (b % 2 != 0 and bs and bs[-1] % 2 == 1): yield from solve(a, n, n + 1, ts + [t], bs + [b]) # record scenarios by maximum pair score rs = defaultdict(list) # find possible scores for (ts, bs) in solve(): # find the maximum score for a pair m = max(y - x for (x, y) in tuples(ts, 2)) if not (m > 50): continue printf("[totals = {ts}; batsmen = {bs}; m = {m}]") rs[m].append((ts, bs)) # choose max pair scores for visitors and home teams for (v, h) in subsets(sorted(rs.keys()), size=2): printf("\nmax pair: visitors = {v}, home = {h}") for (ts, bs) in rs[v]: printf("visitors: totals = {ts}; batsmen = {bs}") for (ts, bs) in rs[h]: printf("home: totals = {ts}; batsmen = {bs}")Solution: (a) The home team’s biggest stand was 81; (b) The result of the match was a tie (i.e. both teams achieved the same number of runs).
The visitor’s scoresheet is one of the following:
And the home team’s scoresheet is:
Each team has a final total of 99, and so the match is tied.
LikeLike