Почта спонсора
Все вы помните задачу "Слово спонсора" с новогодних соревнований. Напомню кратко проблему, стоявшую в этой задаче: после завершения соревнований спонсор пожелал разослать победителям призы.
Но почтовая система не совершенна и не всем участникам призы могли быть доставлены. Конкретнее, в стране есть N почтовых отделений, пронумерованных от 1 до N. Спонсор отправляет призы с отделения под номером S. Также нам известны пары отделений, имеющих связь между собой, то есть, между какими отделениями может передаваться почта.
Перед новыми соревнованиями спонсор решил наперед перестраховаться и гарантировать возможность доставки призов. Для этого спонсор готов за свои средства установить несколько новых связей между некоторыми парами почтовых отделений. Ваша задача - посчитать, какое наименьшее количество новых связей должен создать спонсор, чтобы призы можно было доставить после соревнований всем участникам, не смотря на то, где они проживают и каким почтовым отделением пользуются.
Технические условия
Входные данные
В первой строке заданы три числа N, S, K.
1 <= N <= 100000 - количество отделений;
1 <= S <= N - номер отделения, которым пользуется спонcор;
0 <= K <= 100000 - количество существующих связей между парами отделений.
В следующих K строках записано по 2 числа A, B - номера отделений, между которыми осуществляется перевозка почты (A и B - разные числа с интервала [1;N]). Все пары (A,B) во входном файле разные.
Выходные данные
Единственное число - наименее возможное количество новых связей, которые необходимо создать, чтобы почту можно было доставить с отделения S в любое другое отделение.
Информация о задаче
Лимит времени: 1.3 секундыЛимит памяти: 64 MB
Баллы за пройденный тест: 5
Сложность: 44% 50/89
Классификация: Теория графов
Пример
Пример входных данных5 1 4 1 2 2 3 1 3 4 5 |
Пример выходных данных1 |
| ← Змей Горыныч | Список задач | Охрана елочек → |
