From The Sunday Times, 10th August 1975 [link]
A farmer grows apples in an orchard divided into plots —three to the East and three to the West of a central path. The apples are of two types — for eating (Cox, Laxton, Pearmain) and for cider making (Tremlitt, Coppin, Kingston).
Adjacent plots contain apples of different basic type. The apples are of six colours (red, green, russet, golden, orange, yellow) and of six tastes (sweet, sour, acid, tart, pleasant, bitter).
They ripen at different times, either early or late in July, August and September. Those ripening in early or late September are in plots directly opposite. Those South of Pearmain do not ripen in August. Tart are directly West of the acid variety, which ripens in early August. Yellow apples and those maturing in late September are adjacent. Yellow and orange are of the same type. Orange are North of pleasant and also North of Pearmain. Kingstons are adjacent to golden. Green is South of bitter.
Cox ripen in early July, and Laxtons ripen early in a different month. Tremlitts are red, and Kingstons mature after Coppins, which are not sour.
If cider apples taste unpleasant, what are the characteristics of the apples in North East plot? (Name, colour, taste, ripens).
This puzzle is included in the book The Sunday Times Book of Brain-Teasers: Book 2 (1981).
I think the puzzle as published in The Sunday Times and in the book is open to interpretation, and my first attempt using a reasonable interpretation gave two solutions (neither of which are the published solution). After examining the given solution in the book I think the following wording is clearer:
A farmer grows apples in an orchard divided into plots — three to the East and three to the West of a central track. Adjacent plots are separated by a shared fence. The apples are of two basic types — for eating (Cox, Laxton, Pearmain) and for cider making (Tremlitt, Coppin, Kingston).
Neighbouring plots contain apples of different basic type. The apples are of six colours (red, green, russet, golden, orange, yellow) and of six tastes (sweet, sour, acid, tart, pleasant, bitter).
They ripen at different times, either early or late in July, August and September. Those ripening in early or late September are in plots directly opposite each other. Those directly South of Pearmain do not ripen in August. Tart are directly West of the acid variety, which ripens in early August. Yellow apples and those maturing in late September are in adjacent plots. Yellow and orange are of the same basic type. Orange are directly North of Permain, which are pleasant. Kingstons and golden are in adjacent plots. Green is directly South of bitter.
Cox ripen in early July, and Laxtons ripen early in a different month. Tremlitts are red, and Kingstons mature after Coppins, which are not sour.
If cider apples are neither pleasant nor sweet, what are the characteristics of the apples in North-East plot?
[teaser734]
Jim Randell 9:35 am on 3 February 2026 Permalink |
There are 5 teams in the league, so each team plays 4 matches. For a team to “lose most of the time”, they would have to lose at least 3 of their 4 matches. And for “most teams to lose most of the time”, there have to be at least 3 teams that lost at least 3 of their matches.
So, of the 10 matches in the tournament, at least 9 of them must be lost/won, i.e. there can be at most 1 drawn match.
All the scores in the matches must be different, so in increasing numbers of total goals scored in lost/won match we have the possible following scorelines:
At this point, we have identified 9 matches, and the total number of goals scored in them is 32. So all these must take place, and the remaining match must be a 0-0 draw. And we have identified the scores in all of the 10 matches.
This Python program allocates the scores to the matches. It runs in 20s (using PyPy).
from enigma import (Football, subsets, diff, cproduct, ordered, is_consecutive, printf) # scoring system football = Football(games="wdl", points=dict(w=3, d=1)) # scores in the 10 matches; all different, and 32 goals scored in total scores = [(1, 0), (2, 0), (3, 0), (2, 1), (4, 0), (3, 1), (5, 0), (4, 1), (3, 2), (0, 0)] assert sum(x + y for (x, y) in scores) == 32 # allocate <k> scores from <scs> def allocate(k, scs): for ss in subsets(scs, size=k, select='P'): rs = diff(scs, ss) for xys in cproduct({(x, y), (y, x)} for (x, y) in ss): yield (xys, rs) # calculate the table and goal difference from a sequence of scores def table(ss, ts): T = football.table(football.outcomes(ss), ts) (f, a) = football.goals(ss, ts) return (T, f - a) # X did better than Y def better(ptsX, ptsY, gdX, gdY): return ptsX > ptsY or (ptsX == ptsY and gdX > gdY) # choose the scores in D's matches for ((AD, BD, CD, DE), scs1) in allocate(4, scores): # D's goals in each match must be consecutive (in some order) if not is_consecutive(ordered(AD[1], BD[1], CD[1], DE[0])): continue # calculate the table for D (D, gdD) = table([AD, BD, CD, DE], [1, 1, 1, 0]) # choose the scores in C's matches for ((AC, BC, CE), scs2) in allocate(3, scs1): # C scored 0 goals in the A v C match if not (AC[1] == 0): continue # calculate the table for C (C, gdC) = table([AC, BC, CD, CE], [1, 1, 0, 0]) # C did better than D if not better(C.points, D.points, gdC, gdD): continue # choose the scores in B's matches for ((AB, BE), scs3) in allocate(2, scs2): # calculate the table for B (B, gdB) = table([AB, BC, BD, BE], [1, 0, 0, 0]) # B did better than C if not better(B.points, C.points, gdB, gdC): continue # allocate the remaining match for ([AE], _) in allocate(1, scs3): # calculate the table for A (A, gdA) = table([AB, AC, AD, AE], [0, 0, 0, 0]) # A did better than B if not better(A.points, B.points, gdA, gdB): continue # A's goal difference is 4 times B's if not (gdA == 4 * gdB): continue # calculate the table for E (E, gdE) = table([AE, BE, CE, DE], [1, 1, 1, 1]) # D is higher than E if not better(D.points, E.points, gdD, gdE): continue # at least 3 teams lost at least 3 matches if not sum(X.l >= 3 for X in [A, B, C, D, E]) >= 3: continue # output scenario printf("AB={AB} AC={AC} AD={AD} AE={AE} BC={BC} BD={BD} BE={BE} CD={CD} CE={CE} DE={DE}") printf("A={A} gd={gdA}") printf("B={B} gd={gdB}") printf("C={C} gd={gdC}") printf("D={D} gd={gdD}") printf("E={E} gd={gdE}") printf()Solution: There are two possible answers:
Only the first of these was given in the published solution.
These correspond to the following 4 scenarios:
i.e. the order of {AvD, CvD} = {3-0, 4-1} and {BvC, BvE} = {2-1, 1-0} is not determined.
But in each case the final table is:
With teams C, D, E (i.e. “most teams”) having lost 3 of their matches (i.e. “lost most of the time”).
LikeLike