**From New Scientist #1049, 28th April 1977** [link]

Keen to do their bit for the nation, Aspex Ltd., the aspirin company, have decided to sponsor a chess tournament. There will be four prizes and 13 players will compete on the usual all-against-all basis, with 1 point for each win and ½ for each draw. The prizes will be divisible. Thus if 3 players tie for 1st place they will share the top 3 prizes; if 3 players tie for 3rd place, they will share the 3rd and 4th prizes; and so on.

As you see, there is no telling in advance how many players will end up with a share in the prizes. But my friend George is determined to be among them. Not for him a cliff-hanging struggle for top place, which might leave him prizeless, if boldness does not pay! What he wants to know is exactly how few points he needs to collect from his 12 games to be absolutely sure of featuring on the prize list.

Can you help him?

[tantalizer498]

### Like this:

Like Loading...

Here is the setters solution:

And here’s my programmatic solution:

We are interested in finding the minimum score that guarantees winning a prize. So we can look for the maximum score where four of the players can achieve a better score (and therefore win all the prizes). The minimum winning score is a half-point more than this maximum losing score.

This Python 3 program considers decreasing possible total scores until it finds one where four players can achieve a better score and so take all the prizes. It runs in 207ms.

Solution:George must score at least 10 points to be sure of getting a prize.Here is an example where George (Player E) scores 9½ points, but fails to win a prize as players A, B, C, D have all scored more points than him.

There are the following options to score 10 points from 12 matches:

I’m not sure this changes George’s strategy much, he can only afford to lose at most 2 of the 12 matches.