I. Цепочки
Задачу добавил: alef
Успешно сдано решений: 29
Ограничение по памяти: 256 Мб
Министр экономики Калистрат тоже простое предложение внёс: уже сейчас во всём дворце можно заменить обычные лампы энергосберегающими, которые на движение реагируют. Входит человек в залу или какое другое помещение — лампы включаются. А если нет никого — то освещение не нужно. Вот в коридоре, ведущем в большую залу, неделю назад энергосберегающие лампы появились — разве не красота?
Тут ему казначей Ферапонт возразил: в коридоре пальмы стоят, естественного освещения им не хватает, а тут и искусственного их лишили. Теперь приходится думать, куда пальмы переставить, а это не так просто сделать. В коридоре смонтирована система автополива, а смонтировать такую систему не везде получится: коммуникации не позволят. А уж переложить коммуникации — очень непростая задача...
Конечно, министр экономики Калистрат знает о том, что внедрение какого-либо новшества может потребовать внедрения какого-то другого новшества и так далее. Однако его желание внедрить новшества очень велико, так что Ферапонту остаётся только оценивать, к каким последствиям внедрения этих новшеств приведут.
Министр Калистрат желает внедрить новшеств. Для внедрения каждого новшества может потребоваться внедрение какого-либо другого (но только одного) новшества. Будем называть такое новшество предшественником. Конечно, есть новшества, которым предшественники не требуются.
Таким образом, новшества могут образовывать цепочки. Цепочка начинается с новшества, которое не имеет предшественника. Затем в цепочке следует новшество, для которого первое новшество является предшественником, и т.д.
Ваша задача — разбить все новшества на минимальное количество цепочек и определить состав этих цепочек.
В первой строке содержится целое число — количество новшеств.
Во второй строке содержится целых чисел , — номер новшества, являющегося предшественником новшества . Если новшеству не требуется предшественник, .
Гарантируется, что каждое новшество является предшественником не более одного другого новшества.
Также гарантируется, что описанные взаимосвязи новшеств не образуют циклических зависимостей.
В первой строке выведите целое число — минимальное количество цепочек, на которые можно разбить все новшества.
Каждая из следующих строк содержит длину цепочки , за которой следует чисел — номера новшеств в цепочке в порядке их реализации. Разделяйте числа пробелами.
Порядок вывода цепочек не важен.
10 2 0 9 8 0 4 5 3 0 7
3 2 2 1 3 5 7 10 5 9 3 8 4 6