In a country, there are cities, and every two of them are connected with a non-stop train operating in both directions. The ticket price for each train in both directions is the same, but for any two different trains these prices are different. Prove that a traveler may start from some city and take trains consecutively so that the price of every ticket will be less than the price of the previous one. (A traveler may pass through a certain city several times.)
Solution
Первое решение. Уберём все экспресслы, а затем начнём запускать их обратно по одному в порядке возрастания цены (т. е. первым запустим самый дешёвый, вторым — самый дешёвый из остальных, и т. д.). В каждый момент в каждом городе будем писать максимальное количество экспрессов, на которых можно последовательно проехать, начав из этого города, так, чтобы цены проезда монотонно убывали.
В начальный момент все числа в городах равны нулю. Пусть в некоторый момент мы вводим экспресс, соединяющий города и , в которых до этого были написаны числа и соответственно. После введения нового экспресса в будет число, не меньше (ибо теперь из можно проехать новым экспрессом в , а затем по маршруту длины , начинавшемуся из ). Аналогично, в будет написано число, не меньшее . Поэтому сумма чисел в и увеличится хотя бы на , а числа в остальных городах не уменьшатся. Значит, и сумма всех чисел в городах увеличится хотя бы на .
Таким образом, когда все экспрессов будут введены, сумма чисел в городах станет не меньше, чем . Значит, хотя бы в одном городе будет число, не меньшее . Это и означает наличие требуемого маршрута из этого города.
Второе решение. Разделим каждый экспресс, курсирующий между и , на два — идущий из в , и идущий из в . Получились полуэкспрессов. Мы построим выделенных маршрутов (по одному, начинающемуся в каждом городе) так, чтобы цена поездки на каждом монотонно убывала, и каждый полуэкспресс содержался бы хотя бы в одном выделенном маршруте. Тогда один из выделенных маршрутов будет содержать не менее полуэкспресса, что и требовалось.
Выделенный маршрут, начинающийся в городе , выглядит так. Пусть . Рассмотрим все полуэкспрессы , выходящие из , и выберем из них полуэкспресс максимальной цены . Затем рассмотрим все полуэкспрессы , выходящие из , цена которых меньше ; если такие есть, выберем из них полуэкспресс максимальной цены , и т.д. Маршрут заканчивается полуэкспрессом , если из не выходит полуэкспрессов с ценой, меньшей .
Осталось показать, что каждый полуэкспресс попадёт хотя бы в один из выделенных маршрутов. Положим , , и пусть — цена . Рассмотрим все полуэкспрессы , ведущие в , с ценой, большей . Если такие есть, то выберем из них полуэкспресс наименьшей цены . Далее рассмотрим все полуэкспрессы , ведущие в , с ценой, большей . Выберем из них полуэкспресс наименьшей цены , и т.д. Этот процесс выбора закончится, когда при некотором полуэкспресс — это полуэкспресс максимальной цены, выходящий из . Тогда, согласно нашему построению, выделенный маршрут, выходящий из , последовательно пройдёт через , то есть будет содержать экспресс , что и требовалось.