eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Вершина

Вершина

Лимит времени 1 секунда
Лимит использования памяти 128 MiB

В ориентированном графе найти вершины, недостижимые из заданных вершин.

Ориентированный граф состоит из n вершин, пронумерованных последовательно 1, ..., n, и набора ребер pq, соединяющих вершины p и q в одном направлении.

Вершина r достижима из вершины p если существует ребро pr, или существует такая вершина q, для которой q достижима из p, а r достижима из q.

Вершина r недоступна из вершины p, если r недостижима из p.

Входные данные

Содержит несколько тестов. Для каждого графа первая строка содержит одно целое число n (1n100) - количество вершин в графе.

Далее следует группа строк, каждая из которых содержит набор целых чисел. Группа завершается строкой, содержащей одно целое число 0. Каждая строка представляет собой набор ребер. Первое целое число в наборе i является начальной вершиной, а следующая группа целых чисел j, ..., k определяет множество ребер ij, ..., ik, последнее целое число в строке всегда рано 0. Каждая возможная начальная вершина i (1in) встречается в наборе данных один раз или не встречается вообще. После каждого определения графа будет следует строка, содержащая список целых чисел. Первое целое число в строке указывает, сколько целых чисел следует за ним.

Каждое из следующих целых чисел представляет собой начальную вершину, которую необходимо исследовать. Затем идет следующий граф. Если графов больше нет, следующая строка содержит одно целое число 0.

Выходные данные

Для каждой исследуемой начальной вершины Ваша программа должна идентифицировать все вершины, недоступные из нее. Каждый список должен отображаться в одной строке, начиная с количества недоступных вершин и заканчивая номерами недоступных вершин.

prb10172.gif

Пример

Входные данные #1
3
1 2 0
2 2 0
3 1 2 0
0
2 1 2
0
Выходные данные #1
2 1 3
2 1 3