Apr 29, 2011 17:38
Только что по рабочей необходимости пришлось решать оригинальную задачку. Речь шла об объединении секторов на радарной развёртке, но чтобы не объяснять, что это такое, приведу более "бытовой" аналог :)
Дано: Первый человек встаёт в B1 часов и ложится спать в E1 часов. Второй человек встаёт в B2 часов и ложится спать в E2 часов.
Найти: Минимальный промежуток времени (начало, конец), когда хотя бы один из них не спит.
В каждом частном случае задача решается элементарно, но вот над общим решением, несмотря на кажущуюся простоту условия, я продумал минут 20 :) Ведь промежуток бодрствования каждого человека может включать в себя границу суток (в моём случае - каждый из секторов развёртки может содержать в себе нулевой сектор).
Работа