Four people need to cross a rickety rope bridge to get back to their camp at night. Unfortunately, they only have one flashlight and it only has enough light left for seventeen minutes. The bridge is too dangerous to cross without a flashlight, and it’s only strong enough to support two people at any given time.
Each of the campers walks at a different speed. One can cross the bridge in 1 minute, another in 2 minutes, the third in 5 minutes, and the slow poke takes 10 minutes to cross. How do the campers make it across in 17 minutes?
Solution
To get everyone across in 17 minutes, we need get the two slowest people across together; otherwise we are wasting too much time. Once we get them across, how do we not make one of them walk back with the flashlight? Just have one of the faster people already there waiting to sprint the flashlight back across.
person A: 1 minute
person B: 2 minutes
person C: 5 minutes
person D:10 minutes
1. A & B cross. total time: 2 minutes.
C |==========================| A
D | | B
|==========================| flashlight
2. B comes back. total time: 4 minutes.
C |==========================| A
D | |
B |==========================|
flashlight
3. C & D cross. total time: 14 minutes.
B |==========================| A
| | C
|==========================| D
flashlight
4. A comes back. total time: 15 minutes.
A |==========================| C
B | | D
|==========================|
flashlight
5. A & B cross. total time: 17 minutes.
|==========================| A
| | B
|==========================| C D
flashlight
Another valid solution is to have A bring the flashlight back in step 2.
2026 Update: Is the Torch / Bridge Puzzle Still Asked?
The Torch Puzzle (four people cross a bridge at night with one torch; find the minimum time) is a classic algorithmic puzzle that tests optimization intuition. It was famously used by Microsoft in the 2000s and remains relevant in 2026 — especially in roles involving scheduling and resource optimization.
The key insight: The optimal strategy is to always have the fastest person escort others back and forth. For the classic {1, 2, 5, 10} minute example: total = 17 minutes. This is a greedy algorithm — provably optimal for two trips across.
How it connects to modern engineering:
- Job scheduling with shared resources (the torch is the shared constraint)
- Network packet transmission where bandwidth is the bottleneck
- CI/CD pipeline parallelization — which jobs share a resource and in what order?
Python solution for general case:
def min_crossing_time(times: list[int]) -> int:
"""Greedy: always pair slowest two with fastest escort."""
times = sorted(times)
n = len(times)
if n 3:
# Option 1: fastest escorts each slowly person
opt1 = times[0] + times[-1] + times[0] + times[-2]
# Option 2: top two cross, fastest comes back, second two cross
opt2 = times[1] + times[0] + times[-1] + times[1]
total += min(opt1, opt2)
times = times[:-2]
total += times[0] + times[1] + times[2]
return total
print(min_crossing_time([1, 2, 5, 10])) # 17
Still asked at (2026): Microsoft (engineering), Google (technical program manager), Amazon (operations roles), and any company testing algorithmic thinking in non-coding interviews.