Chapter 223
How Many Times A Day Is A Broken Clock Right?
Riddler Express
Both hands of your new clock look identical: hour hand and minute hand are indistinguishable. Sometimes this matters and sometimes it does not; for example, at the minute hand is exactly on the and the hour hand is halfway between the and the , which uniquely identifies the time because the alternative interpretation (hour hand on , minute hand halfway between and ) is not a valid clock configuration. How many times during the day are you not able to tell the time?
The Riddler, FiveThirtyEight, April 12, 2019(original post)
Solution
Parametrise hand positions as fractions of a full revolution measured clockwise from the -o’clock mark. At elapsed time measured in hours since midnight (with for a -hour cycle), the hour-hand position and minute-hand position are The minute hand turns times for every revolution of the hour hand, so .
When are the hands indistinguishable? The two hands give an unambiguous reading unless there exists a different valid time at which the hour and minute hands sit at the positions of the minute and hour hands of , respectively. That is, Substituting and using : The first says ; the second says . Subtracting, With this is , so for . That is ambiguous instants every hours, or every hours.
Subtract the times when the hands actually overlap. If the two hands coincide, , so swapping them changes nothing and you can read the clock without ambiguity. That happens when , equivalently , or for : instants every hours, or every day.
The ambiguous instants are therefore per day.
Each of those instants is a single moment, not an interval: if your eyesight resolves fractions of a second, you see the hands cross the ambiguous configuration and move on.
Why . The geometric content of the derivation is that the two hands together trace a closed curve on the torus (hour-fraction minute-fraction), and the swap symmetry intersects this curve exactly times per period. The integer is the determinant of the relation .
The computation
Walk a fine grid of and count exactly the candidate-ambiguous and overlap configurations. Confirm the closed-form .
For , check that satisfies the swap condition (it does, by construction); count .
For , check overlap ; count .
Verify these overlap instants are a subset of the swap instants (they are, since each is some ).
Multiply () by two to convert from -hour to -hour day.
from fractions import Fraction
# Swap-ambiguous instants in [0, 12) hours: u = t/12 = k/143.
swap = {Fraction(k, 143) for k in range(143)}
# Overlap instants: u = j/11.
overlap = {Fraction(j, 11) for j in range(11)}
print(f"|swap| = {len(swap)}")
print(f"|overlap| = {len(overlap)}")
print(f"overlap subset of swap? {overlap <= swap}")
ambiguous_per_12h = len(swap) - len(overlap)
print(f"ambiguous per 12h = {ambiguous_per_12h}")
print(f"ambiguous per day = {2 * ambiguous_per_12h}")
# Verify the swap relation algebraically: for u = k/143, we need t' such that
# t' / 12 = 12u mod 1 and t' = u mod 1 (with t = 12 u).
def check(k):
u = Fraction(k, 143)
t = 12 * u
m = t - int(t) # minute fraction = t mod 1
h = u # hour fraction
# t' must satisfy t'/12 = m mod 1, t' = h mod 1
# Existence: pick t' = h + 12 * floor(...). Confirm: t'/12 mod 1 = m.
return (12 * m - u) * 1 == int(12 * m - u) # 143u is an integer
print("all 143 satisfy 143u integer:", all(check(k) for k in range(143)))
The script prints , , “overlap subset of swap” = True, ambiguous per h , ambiguous per day , and the algebraic check confirms each of the candidates indeed satisfies the swap relation.
Riddler Classic
The Classic asks you to count the “transitive national champions” from the - NCAA men’s and women’s basketball seasons. The chain begins at the actual champion (Virginia on the men’s side, Baylor on the women’s) and walks backward: any team that beat any team in the chain joins it. Compute how many such teams exist for each side, using the linked season game logs.
The Riddler, FiveThirtyEight, April 12, 2019(original post)
Status
This is graph reachability over the directed game graph for the entire - NCAA season: nodes are teams, an edge points from winner to loser, and the transitive champions are the ancestors of the actual champion in this DAG. The mathematics is two lines (compute the set of ancestors). The puzzle’s bite comes from the data: the men’s count uses every Division-I result, and the women’s count includes Division I, Division II, Division III, and Canadian teams.
The puzzle is deferred because the answer is a property of an external dataset (the - game logs) that the puzzle links to but does not include. Re-running the reachability with a different copy of the season’s results would change the count. The official report (FiveThirtyEight, April 19, 2019) gives transitive champions on the men’s side (every single Division-I school, plus many beyond) and on the women’s side (every Division-I women’s team except Eastern Kentucky, which went - and beat no Division-I opponent), with the longest chain on the women’s side spanning games.
If a successor edition pins the dataset (or distributes a sanitised game-log CSV), the chapter becomes a five-line breadth-first search over the directed game graph.