Автор: | А. Баранов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 2 Мб | |
Выходной файл: | output.txt |
Программист Вася написал собственную социальную сеть и позвал туда своих друзей, которые охотно согласились принять участие в его проекте.
Как и в любой другой подобной сети каждый пользователь может приглашать новых участников и добавлять к себе в друзья других пользователей.
Спустя некоторое время Вася захотел написать программу, позволяющую расширить круг его знакомств на основе существующих связей. Для этого он ввел в рассмотрение метрику, разделяющую пользователей сети на несколько последовательных слоев.
Первый слой знакомств включает в себя только тех пользователей с которыми его связывают отношения дружбы. Каждый последующий слой включает в себя пользователей, не вошедших в предыдущие слои, но имеющих связи с их участниками.
Требуется вывести всех пользователей такой сети по мере удаления от Васи, записав их в виде набора последовательных слоев (начиная с 1-го).
В начале входного файла "input.txt" содержится натуральное N — число пользователей в сети.
Далее следует натуральное M после которого идет набор из M записей (Ai, Bi), где Ai и Bi — номера пользователей, связанных отношением дружбы.
При этом полагается, что нумерация пользователей начинается с нуля, где 0 — номер Васи.
Выходной файл "output.txt" должен содержать полученные слои, расположенные в порядке удаленности от Васи и записанные в следующем виде.
Вначале указывается число пользователей, формирующих текущий слой.
Далее записываются их номера (в произвольном порядке).
2 ≤ N ≤ 1000, 1 ≤ M ≤ (N ⋅ (N − 1)) / 2,
Ai ≠ Bi
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|