Brain-Teaser 465: [Lifts]
From The Sunday Times, 26th April 1970 [link]
Near my house is an impressive block of flats. It stands 16 storeys high, and each story is a lofty 15 feet from floor to floor. My old friends Bob and Horace operate the two lifts, and both start their shift each morning leaving the ground floor at 8 a.m. precisely.
The two lifts make automatic compulsory stops at the ground level (there is no basement), the 12th and top floors. But below the 12th, Bob serves only the odd-numbered floors, and Horace the even numbers; these stops are also compulsory (up and down). All stops take just 10 seconds, except at ground level where both lifts wait for 20 seconds.
Above the 12th both Bob and Horace stop as desired, going up and coming down. Both lifts travel between floors at identical speeds.
Every morning the two attendants make a rendezvous to exchange newspapers and collect their coffee when their arrivals at a certain floor coincide exactly at two minutes after 11 a.m.
In feet per second what the speed of each lift between stops?
Note: In the UK the floors in buildings are: ground floor, first floor, second floor, etc.
Also, as stated this puzzle does not appear to have a unique solution.
An answer was published (with Teaser 467) stating:
“This clever trap, with its nice reasoning, outweighed the slight mathematical bias and kept down the entry to a mixed handful.”
But later, with Teaser 471 the following statement was made:
“[465: Regretfully a wrong transposition led to a false calculation of time.]”
In the comments I give a variation on the puzzle that does have a unique answer.
This puzzle was originally published with no title.
[teaser465]
Jim Randell 7:05 am on 19 March 2019 Permalink |
Replacing the third paragraph (“Above the 12th floor…”) with the following gives a puzzle that does have a unique solution, and it is the same as the published answer.
This Python program can be used to investigate situations where the attendants follow a fixed schedule of stops. And it solves this variation puzzle in 412ms.
Run: [ @repl.it ]
from fractions import Fraction as F from enigma import printf # number of seconds between 08:00:00 and 11:02:00 S = (3 * 60 + 2) * 60 # wait at each floor (seconds) wait = [20] + [10] * 15 # generate (<floor>, <seconds>, <n floors>) def stops(fs, wait=wait): s = n = f = 0 while True: # going up for (i, x) in enumerate(fs): if i == 0: continue s += wait[f] n += (x - f) f = x yield (f, s, n) # going down for (i, x) in enumerate(reversed(fs)): if i == 0: continue s += wait[f] n += (f - x) f = x yield (f, s, n) # collect possible (f, s, n) tuples def collect(fs, xs): for (f, s, n) in stops(fs): if not (s < S): break if f in xs: yield (f, s, n) # solve for specific floors visited by B and H def solve(B, H): # find common floors xs = set(B).intersection(H) # collect (<floor>, <seconds>, <n floor>) tuples for each Bs = list(collect(B, xs)) Hs = list(collect(H, xs)) # consider possible meeting stops for B (at time S) for (fB, sB, nB) in Bs: # calculate time between floors t = F(S - sB, nB) # look for matching stops for H for (fH, sH, nH) in Hs: if fH == fB and sH + t * nH == S: printf("t={t}s [floor={fB}, B=(wait={sB}s, floors={nB}), H=(wait={sH}s, floors={nH})]") # send B to floor 13, H to floor 14 solve( [0, 1, 3, 5, 7, 9, 11, 12, 13, 15], # floors for B [0, 2, 4, 6, 8, 10, 12, 14, 15], # floors for H )Solution: The time between floors is 3s, giving an average speed of 5 ft/s.
By 11:02 am, Bob has spent 7410s waiting and travelled 1170 floors. Horace has has waited for 7140s and travelled 1260 floors.
LikeLike