Module: برنامه نویسی نمودار پویا


Problem

1 /7


بوروکراسی

Theory Click to read/hide

Error

Problem

میرکو مدیرعامل یک شرکت بزرگ شد. در شرکت N نفر استخدام شده که از 1 تا N شماره گذاری شده اند و خود میرکو هم شماره 1 را دارد.همه کارمندان به جز میرکو رئیس دارند. یک رئیس می تواند چندین زیردستان داشته باشد، اما نه بیش از یک رئیس.

وقتی میرکو از سرمایه گذاران تکلیفی می گیرد، آن را با کمترین تعداد به زیردست خود می سپارد. آن زیردست نیز آن را به زیردستان خود که کمترین تعداد آن را دارد می‌سپارد و به همین ترتیب تا زمانی که کار به کارگری بدشانس می‌رسد که زیردستانی برای تکمیل آن وجود ندارد.
آن کارگر 1 سکه می گیرد، رئیسش 2 سکه، رئیس آن رئیس 3 سکه و غیره. سپس کسی که واقعاً کار را انجام داده است، متوجه می شود که این سیستم سرمایه داری چقدر ناعادلانه است و کار را رها می کند.

میرکو تا زمانی که فقط یک کارمند در شرکت باقی بماند تکالیف دریافت می کند — خود میرکو. سپس این کار را انجام می دهد، 1 سکه دریافت می کند و شرکت را ترک می کند.

او تعجب کرد که هر کارمند سابق در مجموع چند سکه دریافت کرده است. در این امر به او کمک کنید.

ورودی:
خط اول شامل یک عدد طبیعی N (1 ≤ N ≤ 2·105) — تعداد کارکنان شرکت خط بعدی شامل N-1 اعداد a2، a3، ... an (1 ≤ a i <i)، ai — شماره رئیس کارمند i-ام.

خروجی:
N عدد را چاپ کنید، عدد i باید نشان دهد که کارمند iام چند سکه دریافت کرده است.

مثال:
  <بدن>
ورودی خروجی
3
1 1
5 1 1
5
1 2 2 4
13 8 1 3 1

توضیحات:

در ادامه شرحی از مثال دوم ارائه شده است.

میرکو اولین وظیفه را به کارگر 2 می دهد و او آن را به کارگر 3 می دهد و او کار را کامل می کند. بنابراین، کارگر 3 یک سکه، کارگر 2 — دو سکه و کارگر 1 خود میرکو — سه سکه پس از آن، کارمند 3 استعفا می دهد.
میرکو وظیفه دوم را به کارگر 2 می دهد که آن را به کارگر 4 می سپارد و او بلافاصله کار را به کارگر 5 می دهد و او کار را کامل می کند. پس از آن، کارگر 5 یک سکه، کارگر 4 — دو سکه، کارگر 2 — سه سکه و میرکو — چهار سکه کارمند 5 استعفا می دهد.
پس از انجام وظیفه سوم، کارگر 4 یک سکه، کارگر 2 — دو سکه و میرکو — سه سکه، پس از آن کارمند 4 استعفا می دهد.
پس از انجام وظیفه چهارم، کارگر 2 یک سکه دریافت می کند و میرکو — دو سکه، پس از آن کارمند دوم استعفا می دهد.
در نهایت، کار پنجم توسط خود میرکو انجام می شود و برای این کار یک سکه دریافت می کند و پس از آن روند متوقف می شود.

در مجموع، میرکو 13 سکه، یک کارمند 2 — 8 سکه، کارگر 4 — 3 سکه، و کارگران 3 و 5 — یک سکه