[BOJ 8550] Turniej

View as PDF

Submit solution

Points: 3
Time limit: 1.0s
Memory limit: 128M

Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text

W Bajtocji rozegrano turniej, w którym wzięło udział n zawodników. Zawodnikom przydzielono numery od 1 do n, w kolejności zgłoszeń. Planowano rozegranie pojedynków w każdej parze zawodników, jednak ze względu na silny wiatr turniej został przerwany po rozegraniu jedynie części z nich. Niestety ze względu na zaplanowaną obecność króla Bajtazara na ceremonii wręczenia nagród, zakończenie nie mogło zostać przesunięte. Jury stanęło więc przed problemem przydzielenia miejsc. Problem jest tym większy, iż w Bajtocji nie uznaje się miejsc równorzędnych. Aby przydzielić miejsca Sędzia Główny ustalił następującą regułę:</p>

  • Każdy zawodnik musi zajmować wyższą pozycję w rankingu niż wszyscy zawodnicy, których pokonał w bezpośrednich pojedynkach.

Członkowie Jury przystąpili ochoczo do tworzenia rankingów. Szybko okazało się jednak, że prawie wszyscy zaproponowali inny przydział miejsc. Sędzia główny ustalił więc sposób porównywania rankingów:

  • Ranking A jest lepszy od innego rankingu, jeśli na najwyższej rozróżniającej je pozycji ranking A posiada zawodnika, który zgłosił się wcześniej.

Twoje zadanie polega na sporządzeniu najlepszego rankingu. Szczęśliwie okazało się, że wyniki dotychczas rozgrywanych pojedynków gwarantują istnitnie takiego rankingu.

입력 형식

W pierwszym wierszu wejścia zapisane są dwie liczby całkowite n i m, oddzielone pojedynczym odstępem, 2 ≤ n ≤ 100 000, 0 ≤ m ≤ 100 000. Liczba n oznacza liczbę zawodników, a m liczbę rozegranych pojedynków. W kolejnych m wierszach zapisane są rozegrane pojedynki. Każdy z tych wierszy zawiera dwie liczby całkowite oddzielone pojedynczym odstępem, z których pierwsza to numer zwycięzcy pojedynku, a druga numer przegranego.

출력 형식

Na wyjściu powinieneś wypisać najlepszy ranking, czyli numery zawodników, rozpoczynając od najwyższej pozycji. Numer każdego zawodnika wypisz w osobnym wierszu.

예제 입력

10 5
9 5
3 2
9 10
10 7
4 7

예제 출력

1
3
2
4
6
8
9
5
10
7

Comments

There are no comments at the moment.