Да, разойтись можно: залив используем как «карман» на один катер. Пока один катер стоит в заливе, остальные проходят мимо него по основному каналу.
Пронумеруем катера в нормальном положении рисунка слева направо:
- 1, 2 — идут вправо;
- 3, 4 — идут влево.
Запись [ ] — залив, порядок в строке — слева направо.
Исходно:
1 2 [ ] 3 4
Дальше делаем так:
3— в залив:1 2 [3] 42— вправо:1 [3] 2 41— вправо:[3] 1 2 43— влево:3 [ ] 1 2 41— временно влево:3 1 [ ] 2 42— временно влево:3 1 2 [ ] 44— в залив:3 1 2 [4]2— вправо:3 1 [4] 21— вправо:3 [4] 1 24— влево:3 4 [ ] 1 2
В итоге катера 3 и 4 оказались слева, а 1 и 2 — справа. Все разошлись, причём в заливе одновременно был только один катер.
Идея: сначала один встречный катер «прячется» в заливе и пропускает мимо себя других; затем, когда путь к заливу освобождают, так же пропускают последний катер.
