10863. Гіпер-канали


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

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

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

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

На жаль, гіпер-канали платні – кожен прохід через гіпер-канал коштує 10 у.о.

Переміщатися по поверхні планети з однієї точки в іншу, не використовуючи гіперканали, загрожує здоров'ю (радіація, однак!).

Напишіть програму, яка визначить, якою мінімальною сумою у.о. повинен мати мандрівник, щоб дістатися з однієї точки в іншу, не ризикуючи своїм здоров'ям.

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

У вхідному потоці записані спочатку два числа - початкові координати розташування мандрівника, потім ще два числа - координати точки, куди йому треба потрапити.

Потім записано число \(N\) - кількість гіпер-каналів на планеті (\(0 \le N \le 500\)).

Потім йде \(N\) описів гіпер-каналів. Кожен гіпер-канал описується четвіркою чисел. Перші два задають координати однієї з точок, що з'єднуються гіпер-каналом, останні два — координати іншої. Усі координати - цілі числа, що не перевищують за модулем 1000000.

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

У вихідний потік запишіть одне число - мінімальну суму, яку повинен мати мандрівник для досягнення мети. Якщо, не ризикуючи здоров'ям, він не зможе дістатися кінцевої точки, запишіть у вихідний потік число 171717 (стільки коштує лікування променевої хвороби на цій планеті).

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

10 10
-10 -10
3
-10 -10 -10 -10
-10 -10 1 1
10 10 1 1

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

20

Коментарі

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