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 |