Brain-Teaser 87: Inter-schools trophy
From The Sunday Times, 25th November 1962 [link]
Annually in the Easter and summer terms from 1957 Ardington and Bradling competed in five matches at different sports. Points were given for win (6 each for cricket and football, 4 each for hockey, swimming and athletics), the points being shared equally in the case of a draw or tie. The total points score decides the annual winner of the Topp Cup.
From 1957 to 1961 inclusive Ardington, won the cup three times and Bradling won it twice, but their grand totals of points were then equal. The winning margin decreased each year, from 12 points in 1957 to 2 points in 1961.
In each of the sports there was [exactly] one draw or tie; the hockey being drawn in 1959. Bradling last won the cricket in 1958, a year in which they won the cup. Ardington have never won the swimming but have the better record at athletics (which they won in 1957).
What were the results of all matches in the series?
This puzzle is included in the book Sunday Times Brain Teasers (1974).
[teaser87]
Jim Randell 10:29 am on 22 May 2022 Permalink |
I made a MiniZinc model to solve this puzzle:
And a Python wrapper to format the output (using the minizinc.py library):
from enigma import join, printf from minizinc import MiniZinc for [x] in MiniZinc("teaser87.mzn").solve(result='x', use_shebang=1): printf(" C F H S A | pA pB | cA cB") cA = cB = 0 for (y, vs) in enumerate(x, start=1957): # points for A, B pA = sum(x * y for (x, y) in zip(vs, [3, 3, 2, 2, 2])) pB = 24 - pA # cumulative totals cA += pA cB += pB # output the table row r = join(("BdA"[x] for x in vs), sep=" ") printf("{y}: {r} | {pA:2d} {pB:2d} | {cA:2d} {cB:2d}") printf()Solution: The full results are (d = drawn):
At the end of the 5 years each team has a cumulative total of 60 points each.
The winning margin for each year is: 12, 10, 8, 4, 2.
LikeLike