Laiko ribojimas: 1s
Atminties ribojimas: 64MB
DFS medyje
Duotas šakninis medis - jungus beciklis grafas, kurį sudaro viršūnių ir
briaunų. Medžio šaknis yra viršūnė
.
Kiekvienai medžio viršūnei jums reikia rasti tris dalykus:
- kas yra viršūnės
tėvinė viršūnė;
- koks yra viršūnės
gylis (tai yra, atstumas iki šaknies);
- kiek vaikų turi viršūnė
.
Įvestis
Pirmoje eilutėje pateiktas natūralusis skaičius (
) - viršūnių skaičius medyje.
Toliau pateiktos eilučių, kuriose pateikta po du skaičius
ir
(
), kurie reiškia, kad medyje yra briauna tarp viršūnių
ir
.
Išvestis
Išveskite eilučių, kur
-tojoje jų būtų trys skaičiai:
-tosios viršūnės tėvinė viršūnė,
-tosios viršūnės gylis ir vaikų skaičius.
Pastaba. Kadangi viršūnė yra šaknis, tai tėvinės viršūnės ji neturi - vietoj jos tėvinės viršūnės išveskite tiesiog skaičių 0 (žr. pavyzdžius).
Pavyzdžiai
Duomenys | Rezultatai | Paaiškinimai |
---|---|---|
6 3 5 3 1 1 4 6 3 3 2 |
0 0 2 3 2 0 1 1 3 1 1 0 3 2 0 3 2 0 |
Medis atrodo taip: |