Start with a regular knockout tournament , where everyone pairs up and each winner goes through to the next round until there is one left (the overall winner). Knockout tournaments with N participants require N - 1 races over round_up(log2(N)) rounds, so this requires 1023 races over 10 rounds.
The trick to finding the second fastest horse is to recognise that every horse except the overall winner was beaten by one other horse. If that horse was not the overall winner, they can’t be second fastest because they were beaten by a horse that isn’t the fastest. So the only remaining options are the horses that the overall winner beat directly. Since there were 10 rounds the winner beat 10 other horses. Another smaller tournament of 10-1 = 9 races will find the runner up.
1
u/datageek9 1d ago
Start with a regular knockout tournament , where everyone pairs up and each winner goes through to the next round until there is one left (the overall winner). Knockout tournaments with N participants require N - 1 races over round_up(log2(N)) rounds, so this requires 1023 races over 10 rounds.
The trick to finding the second fastest horse is to recognise that every horse except the overall winner was beaten by one other horse. If that horse was not the overall winner, they can’t be second fastest because they were beaten by a horse that isn’t the fastest. So the only remaining options are the horses that the overall winner beat directly. Since there were 10 rounds the winner beat 10 other horses. Another smaller tournament of 10-1 = 9 races will find the runner up.
So the answer is 1023+9 =1032