13080. Таксі


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

Керувати службою таксі - зовсім не проста справа. Крім природної необхідності централізованого керування машинами для того, щоб обслуговувати замовлення в міру їх надходження та якнайшвидше, потрібно також планувати поїздки для обслуговування тих клієнтів, які зробили замовлення наперед.

У вашому розпорядженні є список замовлень таксі наступного дня. Вам необхідно мінімізувати кількість машин таксі, необхідних щоб виконати всі замовлення.

Для простоти вважатимемо, що план міста є квадратною решіткою. Адреса в місті будемо позначати парою цілих чисел: \(x\)-координатою та \(y\)-координатою. Час, необхідний для того, щоб дістатися з точки з адресою \((a,b)\) до точки \((c,d)\), дорівнює \( | a - c | + | b - d | \) хвилин. Машина таксі може виконати чергове замовлення, або якщо це перше її замовлення за день, або вона встигає приїхати у початкову точку з попередньої кінцевої хоча б за хвилину до зазначеного терміну. Зверніть увагу, що виконання деяких замовлень може закінчитися після опівночі.

Формат вхідних даних

У першому рядку вхідного файлу записано кількість замовлень \(M\) (\(0 < M < 500\)).

Наступні \(M\) рядків описують самі замовлення, по одному у рядку. Про кожне замовлення вказано час відправлення у форматі \(hh:mm\) (в інтервалі з \(00:00\) за \(23:59\), координати \((a, b)\) точки відправлення та координати \((c, d)\) точки призначення. Усі координати у вхідному файлі невід'ємні та не перевищують 200. Замовлення записані впорядкованими за часом відправлення.

Формат вихідних даних

У вихідний файл виведіть єдине ціле число - мінімальну кількість машин таксі, необхідну для обслуговування всіх замовлень.

Приклад вхідних даних

2
08:00 10 11 9 16
08:07 9 16 10 11

Приклад вихідних даних

1

Приклад вхідних даних

2
08:00 10 11 9 16
08:06 9 16 10 11

Приклад вихідних даних

2

Коментарі

Ще немає коментарів.