Kotlin Heroes: Episode 4 |
---|
Закончено |
Маша собирается принять участие в шоу талантов, проводимом университетом, в котором она учится. Она хочет поразить публику множеством разных фокусов!
Для одного из своих фокусов она использует $$$n$$$ шариков, один из которых — особенный. Сначала Маша размещает шарики в ряд таким образом, чтобы особенный шарик находился на позиции $$$k$$$ (позиции пронумерованы от $$$1$$$ до $$$n$$$ слева направо). После этого она выполняет $$$m$$$ обменов: во время $$$i$$$-го обмена она выбирает шарик на позиции $$$x_i$$$ и шарик на позиции $$$y_i$$$ и меняет их местами.
Чтобы обмануть аудиторию, Маша иногда делает фальшивые действия — имитирует, что начинает обмен, но не выполняет его (но аудитории кажется, что он выполнен). Нет никаких ограничений на то, какие обмены Маша должна имитировать или должна действительно выполнить — например, она может имитировать все обмены или выполнить все из них.
Чтобы фокус работал идеально, особенный шарик должен оказаться в определенной позиции, но Маша еще не определилась, какая из позиций идеальна. Поскольку имитировать обмены сложно, для каждой позиции она хочет знать минимальное количество обменов, которое она должна сымитировать, чтобы особенный шарик оказался там.
К сожалению, Маша — волшебница, а не математик и не программист. Поэтому ей нужна ваша помощь!
Первая строка содержит три целых числа $$$n$$$, $$$m$$$ и $$$k$$$ ($$$2 \le n \le 2 \cdot 10^5$$$; $$$1 \le m \le 2 \cdot 10^5$$$; $$$1 \le k \le n$$$) — количество шариков, количество обменов и начальное положение особенного шарика соответственно.
Далее следуют $$$m$$$ строк, в которых $$$i$$$-я строка содержит два целых числа $$$x_i$$$ и $$$y_i$$$ ($$$1 \le x_i, y_i \le n$$$; $$$x_i \ne y_i$$$), обозначающие $$$i$$$-й обмен.
Выведите $$$n$$$ целых чисел. $$$i$$$-е число — минимальное количество обменов, которые Маша должна сымитировать, чтобы особенный шарик оказался в позиции $$$i$$$ (или $$$-1$$$, если Маша не может поместить туда особенный шарик).
4 5 1 3 4 2 1 4 1 3 1 3 1
2 0 3 1
5 7 4 3 2 3 2 4 2 3 4 4 1 3 2 5 2
2 2 0 3 1
7 15 5 5 3 4 2 6 1 2 4 1 6 3 7 5 6 4 2 6 4 2 6 6 3 6 3 7 6 2 6 7 2
-1 1 1 1 2 1 0
Название |
---|