Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки

HotLog


 

Рейсы во времени

(Время: 1 сек. Память: 16 Мб Сложность: 45%)

Между N населенными пунктами совершаются пассажирские рейсы на машинах времени. В момент времени 0 вы находитесь в пункте A. Вам дано расписание рейсов. Требуется оказаться в пункте B как можно раньше (то есть в наименьший возможный момент времени). При этом разрешается делать пересадки с одного рейса на другой. Если вы прибываете в некоторый пункт в момент времени T, то вы можете уехать из него любым рейсом, который отправляется из этого пункта в момент времени T или позднее (но не раньше).

Входные данные

В первой строке входного файла INPUT.TXT записано число N – количество населенных пунктов (1 ≤ N ≤ 1000). Вторая строка содержит два числа A и B – номера начального и конечного пунктов. В третьей строке задается K – количество рейсов (0 ≤ K ≤ 1000). Следующие K строк содержат описания рейсов, по одному на строке. Каждое описание представляет собой четверку целых чисел. Первое число каждой четверки задает номер пункта отправления, второе – время отправления, третье – пункт назначения, четвертое – время прибытия. Номера пунктов – натуральные числа из диапазона от 1 до N. Пункт назначения и пункт отправления могут совпадать. Время измеряется в некоторых абсолютных единицах и задается целым числом, по модулю не превышающим 109. Поскольку рейсы совершаются на машинах времени, то время прибытия может быть как больше времени отправления, так и меньше, или равным ему.

Гарантируется, что входные данные таковы, что добраться из пункта A в пункт B всегда можно.

Выходные данные

В выходной файл OUTPUT.TXT выведите минимальное время, когда вы сможете оказаться в пункте B.

Примеры

INPUT.TXTOUTPUT.TXT
12
1 1
2
1 1 2 10
1 10 1 9
0
21
1 1
3
1 3 1 -5
1 -5 1 -3
1 -4 1 -10
-10
35
1 2
6
1 0 3 10
4 2 2 -10
4 14 2 -7
3 10 2 10
2 0 4 2
3 10 4 12
-10

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 Тренировочные олимпиады
 Введение
 Целочисленная арифметика
 Алгоритмы сортировки
 Длинная арифметика
 C++ Standard Template Library
 Динамическое программирование
 Комбинаторика
 Вычислительная геометрия
 Строки
 Структуры данных
 Теория графов - 1
 Теория графов - 2
 Алгоритм Флойда
 Алгоритм Форда-Беллмана
 Алгоритм Дейкстры
 Минимальный каркас
 Эйлеров цикл, конденсация
 Паросочетания
 A. Алгоритм Форда-Беллмана
 B. Алгоритм Форда-Беллмана - 2
 C. Цикл отрицательного веса
 D. Цикл отрицательного веса - 2
 E. Рейсы во времени
 F. Авиаперелеты
 G. Лабиринт знаний
 H. Домой на электричках

Красноярский краевой Дворец пионеров, (c)2006 - 2022, E-mail: admin@acmp.ru



SEO продвижение сайтов в поисковых системах в Санкт-Петербурге.