Képzés
Egy vállalat fel akarja készíteni a dolgozóit egy új szoftver használatára. Arra nincs lehetőség, hogy minden dolgozó részt vegyen kiképzésen. Ezért az igazgató elhatározta, hogy a lehető legkevesebb dolgozó vegyen részt a képzésen, de teljesüljön, hogy ha egy dolgozó nem vett részt a képzésen, akkor a közvetlen főnöke igen. A vállalat hierarchikus
felépítésű, tehát az igazgató kivételével (akinek nincs főnöke), minden dolgozónak pontosan egy közvetlen főnöke van, továbbá az igazgató mindenkinek főnöke (közvetlenül vagy közvetve).
Feladat
Készíts programot, ami kiszámolja, hogy legkevesebb hány dolgozónak kell részt vennie képzésen, és meg is adja, hogy kiknek.
Bemenet
Az első sorban a dolgozók N száma van (1<= N<=100000). A második sorban N szám van, az i. szám az i. dolgozó közvetlen főnökének sorszáma. Az igazgatónak nincs főnöke, ezért az első szám mindig 0, az igazgató mindig az egyes sorszámú.
Kimenet
A kimenet az első sora megadja, hogy hány embernek kell a képzésben részt vennie,
a második pedig felsorolja a képzésre küldött dolgozók sorszámát.
Példa
kepzes.be | kepzes.ki |
12
0 1 1 1 2 12 12 12 3 9 10 3
|
5
1 2 3 10 12
|
Tesztadatok