줄 세우기

면접 대비

시간 제한2초메모리 제한128 MB

요약
학생 N명 사이의 선후 관계가 주어질 때 모든 조건을 만족하는 순서, 즉 위상 정렬 결과를 하나 출력합니다.
난이도

보통10점 중 4점

유형
위상 정렬, 그래프, BFS
정답자
아직 제출이 없습니다

문제

N명의 학생을 키의 순서 관계에 맞게 한 줄로 세우려고 한다. 모든 학생의 키를 직접 재서 정렬하면 간단하지만, 여기서는 일부 학생 쌍에 대해 누가 앞에 서야 하는지만 알고 있다.

각 비교 결과는 두 학생 사이의 앞뒤 관계를 나타낸다. 주어진 모든 관계를 만족하도록 학생들을 줄 세우는 프로그램을 작성하시오.

입력

첫째 줄에 학생 수 N(1 <= N <= 32,000)과 비교 횟수 M(1 <= M <= 100,000)이 주어진다.

다음 M개의 줄에는 두 학생의 번호 A와 B가 주어진다. 이는 학생 A가 학생 B보다 앞에 서야 한다는 뜻이다.

학생 번호는 1번부터 N번까지이다.

출력

첫째 줄에 앞에서부터 줄을 선 학생 번호를 공백으로 구분해 출력한다.

가능한 답이 여러 가지라면 그중 아무 것이나 출력해도 된다.

예제2

  1. 예제 1

    입력
    3 2
    1 3
    2 3
    
    예상 출력
    1 2 3
    
  2. 예제 2

    입력
    4 2
    4 2
    3 1
    
    예상 출력
    4 2 3 1