Задача классическая.
Формулировка: Михаил Густокашин.
Как я уже писал, с 1 сентября 2002 года я буду учиться в СУНЦ
МГУ (школа-интернат им А.Н. Колмогорова, ФМШ 18). Для того, чтобы я был
допущен к занятиям, мне необходимо предъявить справку по форме 086/У, на
которой должна поставить свои подписи K врачей.
Все было бы хорошо, но вот некоторые врачи отказываются ставить подписи на справке
до тех пор, пока на ней не распишется другой врач. Например, стоматолог
отказался ставить мне подпись, пока я не принесу справку от психиатра, потому,
что однажды его укусил один психически неуравновешенный мальчик, да так, что
бедному врачу пришлось два месяца сидеть на больничном. Теперь он у всех своих
пациентов требует справку об отсутствии психических расстройств. Много
странностей у врачей...
Закончилось тем, что я составил список, какому врачу нужны какие справки.
Исходные данные
В первой строке моего списка содержится общее количество врачей (1
<= K <= 100). В следующих K строках описываются необходимые справки.
Первое число (j) в i+1 строке входного файла означает, сколько справок нужно
i-му врачу. Затем, в той же строке, содержится j чисел - номера врачей, чьи
подписи надо предварительно поставить, чтобы получить подпись i-го врача.
Результат
Если подписи всех врачей собрать невозможно, то в выходной файл
следует вывести "NO". Если же все справки собрать возможно, то в
первой строке выходного файла должно содержаться "YES", а в следующих
K строках - последовательность, в которой нужно получать справки.
Пример
Исходные данные | Результат |
4
1 2
0
2 1 4
1 1
| YES
2
1
4
3 |
|