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