Teaser 2481: [Coach trip]
From The Sunday Times, 11th April 2010 [link]
My wife and I took a coast-to-coast coach tour of the USA, starting at New York and travelling steadily westwards to San Francisco. The coach had rows of seats, each row consisting of a double seat on the left and a double seat on the right. In New Jersey we were in the left-hand seat of the middle row. For each new state we moved two seats clockwise. Just as we were about to move to the best seat (front right) Clive – the courier – told us thereafter to move three seats clockwise for each state. But we did get the best seat later in the holiday.
In which state were we sitting in the best seat?
This puzzle was originally published with no title.
[teaser2481]





Jim Randell 10:03 am on 11 November 2025 Permalink |
I’m not sure how this puzzle is meant to work, as it surely depends on the route taken.
I tried using Google and Apple Maps to give routes from New York to San Francisco, and the 4 suggested routes visited the following states:
And these are just the “direct” routes. On a coach tour it is quite possible that it takes a less direct route, and visits more states.
This Python program considers possible numbers of seats on the coach and looks for configurations where the front right seat is missed the first time (when the increment changes from +2 to +3) but hit subsequently. It then checks what that means for the four routes given above.
from enigma import (irange, seq_get, seq2str, printf) # possible routes from New York to San Francisco routes = list(x.split() for x in [ "NY NJ PA OH IN IL IA NE WY UT NV CA", # I80 "NY NJ PA WV OH IN IL MO NE WY UT NV CA", # I70/I80 "NY NJ PA WV OH IN IL MO OK TX NM AZ CA", # I40/I5 "NY NJ PA MD WV VA TN AR OK TX NM AZ CA", # I40/I5 ]) # suppose the coach has n rows in front of the middle row and n rows # behind it, so (2n + 1) rows in total, and (4n + 2) seats, which we # will number 0 .. 4n + 1, going clockwise starting from the left hand # seat, middle row def solve(n): # layout of the coach rows = 2 * n + 1 seats = 2 * rows best = n + 1 # we start in seat 0, and move 2 each state k = 0 i = 2 # consider visiting state j (starting at 1 = NJ) for j in irange(2, 50): # move to the next seat k = (k + i) % seats # are we going to get the best seat? if k == best: if i == 2: # we start to move 3 seats instead i += 1 k += 1 else: # we got the best seats in state j printf("{rows} rows; {seats} seats; best @ {j}") # check against the routes for route in routes: r = seq_get(route, j) if r is not None: printf("-> {route} @ {r}", route=seq2str(route)) # consider possible coach configurations for n in irange(1, 20): solve(n)There appear to be two possible scenarios:
(1) In a coach with 7 rows of seats (= 28 individual seats).
The seats are laid out as follows (viewed from above):
In NJ (state 1) the setter is in seat 07 and proceeds as follows:
Which means being in the best seat in state 12.
The shortest route given above only has 10 states after NJ, so is not possible, and for the remaining three routes this is the final state, California.
(2) In a coach with 11 rows of seats (= 44 individual seats).
The seats are laid out as:
In NJ (state 1) the setter is in seat 11 and proceeds as follows:
Which means being in the best seat in state 11.
For the routes given this could be California, Nevada, or Arizona.
And if the route were to visit more states there are further solutions.
The next is in a coach with 23 rows of seats (= 92 individual seats), and happens in state 22 (which would require a less direct route, possibly revisiting states).
If the list of states visited had been given as:
(i.e. the most direct of the suggested routes).
Then the only possible solution is a coach with 11 rows of seats, and the setter gets the best seat in state 11 = California.
And the published solution is “California”, so perhaps this is what the setter had in mind.
LikeLike