Brain-Teaser 702: That’s torn it … again
From The Sunday Times, 29th December 1974 [link]
Last time it was vertical. But no one could accuse Uncle Bungle of being consistent and this time it was horizontal. The way, I mean, in which he tore the piece of paper on which were written the details of the matches between 4 local football teams, A, B, C, and D, who are to play each other once.
All that was left was:
It is not known whether all the matches have been played. And not more than 7 goals were scored in any game.
With the information that it is possible to discover the score in each match, you should be able to discover them.
What was the score in each match?
This puzzle is included in the book The Sunday Times Book of Brain-Teasers: Book 1 (1980). The puzzle text above is taken from the book.
[teaser702]

Jim Randell 8:29 am on 18 March 2021 Permalink |
I wasn’t entirely happy about this puzzle, but after some thought I was able to convince myself that there is a way to arrive at a single solution.
We are told that there is enough information to determine the scores in each match (even though on the face of it it seems that we have not), so that fact it is possible to determine the scores means that there must be some ambiguous situations that cannot arise.
We have no information at all about C and D, so any solution that we find will be equally applicable if C and D’s labels are swapped over. But as we are told we can determine the scores in the matches, this must mean swapping the labels of C and D would have no effect on the scores, so C and D must have performed identically.
From this we can see that the C vs D match cannot be won by either of the teams, so it must be a draw, or not yet played. If it were a draw, then it could be 0-0, 1-1, 2-2, 3-3 and we don’t know which. So the C vs D match must be not yet played.
We know A and B have both played each of the other teams (as they have played 3 matches each), so all 6 matches involving A and B must have been played. And so the A vs B and A vs C matches must have identical scores, as must the B vs C and B vs D matches.
So we only need to calculate three scorelines: A vs B (win), A vs (C and D) (draw), B vs (C and D) (win).
This Python program runs in 48ms.
Run: [ @replit ]
from itertools import product from enigma import Football, printf # possible scores (no more than 7 goals scored per match) win = [ (1, 0), (2, 0), (3, 0), (4, 0), (5, 0), (6, 0), (7, 0), (2, 1), (3, 1), (4, 1), (5, 1), (6, 1), (3, 2), (4, 2), (5, 2), (4, 3), ] draw = [(0, 0), (1, 1), (2, 2), (3, 3)] # for computing goals for/against football = Football() # CD is not yet played CD = None # A has 2 draws (which must be AC = AD) and a win (which must be AB) # B has 2 wins (which must be BC = BD) for (AB, AX, BX) in product(win, draw, win): # check goals for/against if not(football.goals([AB, AX, AX], [0, 0, 0]) == (7, 5)): continue if not(football.goals([AB, BX, BX], [1, 0, 0]) == (5, 5)): continue # output solution printf("AB={AB} AC={AX} AD={AX} BC={BX} BD={BX} CD={CD}")Solution: A vs B = 3-1; A vs C = 2-2; A vs D = 2-2; B vs C = 2-1; B vs D = 2-1; C vs D = not yet played.
LikeLike
John Crabtree 7:33 pm on 18 March 2021 Permalink |
At the point where you can say “So we only need to calculate three scorelines”, you are almost home.
A must beat B by 2 goals, and score an odd number of goals. That fixes the score in A vs B, and the remaining scores follow.
LikeLike