#include<bits/stdc++.h>
using namespace std;
queue<int> q;
int in_degree[32001];
vector<int> v[32001];
int main(){
int N,M;
ios::sync_with_stdio(0);cin.tie(0);
cin >> N >> M;
for(int i=1;i<=M;i++){
int a,b;
cin >> a >> b;
in_degree[b]++;
v[a].push_back(b);
}
for(int i=1;i<=N;i++){
if(in_degree[i]==0)q.push(i);
}
while(!q.empty()){
int t=q.front();
q.pop();
cout << t << ' ';
for(auto i: v[t]){
if(--in_degree[i]==0){
q.push(i);
}
}
}
}
어제풀었던 1766과 비슷한 문제로,
두 사람의 키를 비교한 결과를 출력시켜주는데,
진입차수가 같은 것들 사이의 관계에는 주어진 조건이 없으니, 그냥 넣은순서대로 아무거나 출력하면 된다.