Laiko ribojimas: 1s
Atminties ribojimas: 64MB
Pomedžiai
Jums duotas medis (jungus grafas be ciklų), kurį sudaro viršūnių, o šio medžio šaknis yra
. Viršūnės
pomedžiu vadinama medžio dalis, kurią sudaro visos viršūnės
tokios, kad kelyje tarp
ir
yra viršūnė
. Paprastai tariant, viršūnės
pomedis yra visos viršūnės, esančios "po" viršūne
žiūrint iš šakninės viršūnės
.
Jūsų užduotis - kiekvienai viršūnei rasti jos pomedžio dydį.
Pradiniai duomenys
Pirmoje eilutėje įvesti du sveikieji skaičiai ir
- viršūnių kiekis ir šaknins viršūnės numeris (
).
Toliau seka eilučių.
-ojoje iš jų pateikiami du sveikieji skaičiai
ir
, kurie reiškia, kad viršūnes
ir
jungia briauna (
).
Rezultatai
Jūsų programa turi išvesti eilučių.
-ojoje eilutėje turi būti skaičius, reiškiantis viršūnės
pomedžio dydį.
Pastaba. Atkreipkite dėmesį, kad uždavinys reikalauja daug išvesties, tad naudokite greitą išvedimo būdą.
Pavyzdžiai
Pradiniai duomenys | Rezultatai | Paaiškinimas |
---|---|---|
8 1 1 2 1 3 1 4 2 5 2 7 5 6 4 8 |
8 4 1 2 2 1 1 1 |
Šakninė viršūnė paryškinta:![]() |
5 2 1 4 1 5 1 3 3 2 |
3 5 4 1 1 |
![]() |