Company
Есенен Турнир по Информатика 2011
Time Limit: 0.3s, Memory Limit: 64MiB
Ели започна работа в голяма софтуерна компания. Йерархията в компанията има дървовидна структура, като всеки човек (освен баш шефът) има точно по един пряк началник. Компанията е разделена на екипи, като един програмист с всичките си преки и непреки подчинени (ако има такива) се счита за един екип. Това означава, че един екип може да се състои от няколко други такива. За пример ще дадем компания като Microsoft, където има екип, който се занимава с Office, който от своя страна се състои от екипи, които се занимават с Word, Excel, и т.н. В случая на Ели, например, Станчо е шеф на Пешо и Ели, Ели е шеф на Крис, а Пешо е шеф на Гошо и Тошо. Така Станчо, Пешо, Ели, Крис, Гошо и Тошо образуват един екип. Също така Ели и Крис са един екип, а Пешо, Тошо и Гошо са друг екип.
Фирмата има много дълъг, но за съжаление тесен офис, в който има място само за един ред от компютри. Шефът на фирмата е заел най-левия от тях и иска да разпредели програмистите по такъв начин, че:
Помогнете на Ели да се подмаже на шефа, като напишете програма, която по дадена структура на фирмата, определя нареждането на програмистите.
Фирмата има много дълъг, но за съжаление тесен офис, в който има място само за един ред от компютри. Шефът на фирмата е заел най-левия от тях и иска да разпредели програмистите по такъв начин, че:
- Прекият началник на всеки програмист да се намира наляво от него.
- Членове на всеки от екипите да заемат непрекъсната последователност от компютри (тоест да са един до друг).
Помогнете на Ели да се подмаже на шефа, като напишете програма, която по дадена структура на фирмата, определя нареждането на програмистите.
Вход
На първия ред на стандартния вход ще бъде зададен броят програмисти във фирмата N. Ще представим програмистите с номера от 1 до N, включително, като 1 е шефът на фирмата (който няма пряк началник). На следващите N – 1 реда ще бъде зададена по една двойка числа Wi1 Wi2 указващи, че Wi1 е пряк началник на Wi2. Гарантирано е, че дадената структура е валидно кореново дърво.
Изход
На стандартния изход изведете един ред, съдържащ N цели числа между 1 и N – подредбата на програмистите в изискания ред. Ако има повече от една възможна подредба, изведете лексикографски най-малката. Наредба A е лексикографски по-малка от наредба B, ако числото на първата позиция, в която се различават е по-малко в A от това в B. Например {1, 3, 4, 6, 7, 2, 5} e по-малко от {1, 3, 5, 2, 4, 6, 7}.
Ограничения
- 1 ≤ N ≤ 200,000
- 1 ≤ Wi1 != Wi2 ≤ N
Примерен Вход | Примерен Изход |
---|---|
6 1 2 2 5 4 3 1 4 4 6 | 1 2 5 4 3 6 |
14 9 11 1 9 10 12 1 3 3 8 2 4 2 5 10 13 1 2 3 7 9 10 2 6 11 14 | 1 2 4 5 6 3 7 8 9 10 12 13 11 14 |
В първия пример Станчо е с номер 1, Ели с 2, Крис с 5, Пешо е с 4, Гошо е с 3, а Тошо с 6.