Skip to content
Vamshi Jandhyala

Books · The Fiddler: Solutions

Chapter 90

Can You Catch the Breakaway?

A lone cyclist is being chased by a group of four, who share the lead in equal turns while the other three draft. Leading takes twice the power of drafting, and every rider, lone or grouped, holds the same average power over time, with speed proportional to power. The four chasers have just passed a banner reading 1010 kilometres to the finish. How far behind the lone rider can they be and still catch them exactly at the line?

The Fiddler, Zach Wissner-Gross, July 19, 2024(original post)

Solution

Let drafting take power xx, so leading takes 2x2x. In the group of four each rider leads a quarter of the time and drafts the rest, averaging 14(2x)+34(x)=5x4\tfrac14(2x)+\tfrac34(x)=\tfrac{5x}{4}. Every rider holds the same average, so the lone rider rides steadily at power 5x4\tfrac{5x}{4}, with speed proportional to it. The group, though, always has someone leading at power 2x2x, and the whole line moves at that leader’s speed, proportional to 2x2x. The group is therefore faster by the factor 2x5x/4=85.\frac{2x}{5x/4}=\frac85 . The group covers its 1010 km in the time the lone rider covers 1058=6.2510\cdot\tfrac58=6.25 km, so to meet at the line the lone rider must have exactly 6.256.25 km left when the banner is reached. The gap is 106.2510-6.25: 3.75 km.\boxed{3.75\ \text{km}.}

The computation

Build it from the power model: form the group rider’s average power, which the lone rider must match, take each speed proportional to power, and find how far the lone rider has gone when the group finishes its 1010 km.

from fractions import Fraction as F
x = 1                                              # drafting power; leading costs 2x
lone = F(1, 4) * 2 * x + F(3, 4) * x               # group rider's average = lone rider's power
ratio = (2 * x) / lone                             # group speed (leader) / lone speed = 8/5
print(ratio, 10 - 10 / ratio)                      # 8/5   15/4 = 3.75

Extra Credit

In a stage of 176176 riders, a breakaway of bb riders is 1010 km out and the peloton of 176b176-b riders is 1111 km out. What is the smallest breakaway that beats the peloton to the line?

Solution

A group of nn riders averages power (n+1)xn\tfrac{(n+1)x}{n} per rider (one leads at 2x2x, the other n1n-1 draft at xx), so with average power fixed the leader, and hence the line, moves at a speed proportional to 2nn+1\tfrac{2n}{n+1}: bigger groups are faster, approaching twice a lone rider’s speed. The breakaway wins when its time beats the peloton’s, 102b/(b+1)<112(176b)/(177b),\frac{10}{\,2b/(b+1)\,}<\frac{11}{\,2(176-b)/(177-b)\,}, and the smallest integer bb that clears it is 10.\boxed{10}. At b=10b=10 the breakaway’s time is 5.505.50 against the peloton’s 5.535.53; at b=9b=9 it is 5.565.56 versus 5.535.53, just losing.

The computation

Encode each group’s speed from its size and compare finishing times, scanning upward for the smallest breakaway that arrives first.

def group_speed(n): return F(2 * n, n + 1)         # speed of an n-rider group, average power fixed
def time(dist, n):  return dist / group_speed(n)
print(next(b for b in range(1, 176)
           if time(10, b) < time(11, 176 - b)))    # 10