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
Bemenet |
Kimenet |
12 0 1 1 1 2 12 12 12 3 9 10 3
| 5 1 2 3 10 12
|
Tesztadatok
Címkék
A feladat forrása: NTOITV 2011, 11-13. évfolyam, 3. forduló
Algoritmusok:
|