# Sunday Times Teaser 2608 – Football Logic

*by John Owen*

#### Published: 16 September 2012 (link)

In the logicians’ football tournament, each of three teams (captained by Alf, Bert and Charlie) plays each other once, with three points for a win and one for a draw. In working out their order at the end of the tournament, “goals scored” are used to determine the order of teams with the same points total. Each captain only knows the scores in his own team’s games. At the end I asked the captains in turn whether they knew which position they had finished in. The replies were: Alf “no”; Bert “no”; Charlie “no”; Alf “yes”.

In which position did Charlie’s team finish, and what was the result in the game between the other two teams?

3 Comments
Leave one →

This one is a lot harder in Python than on pencil and paper! Here is my solution (the redundancy discussed below has now been removed):

Brian – this week I can’t follow much that is not green! What would happen without line 084?

Hi Tony,

The short answer is nothing. Its original purpose was to take account of the fact that the A, B and C elimination steps are not identical since B has a bit more information than A, and C has more information than both A and B.

Originally, I had separate solutions for A, B and C rather than using the common ‘partition’ subroutine. When I moved to use a common subroutine, I originally had to add the extra elimination step for C to account for eliminations that C could do but A and B could not. But I made a change in the partition subroutine that (I think) removes the need for this.