Pagini recente » Cod sursa (job #3251344) | Cod sursa (job #313746) | Istoria paginii home | Cod sursa (job #1748814) | Cod sursa (job #2072868)
#include <bits/stdc++.h>
using namespace std;
const int N = 50005;
vector <int> v[N];
int deg[N];
int q[N];
int main(){
int n, m;
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
scanf("%d %d", &n, &m);
for(int i = 1;i <= m;i++){
int x, y;
scanf("%d %d", &x, &y);
v[x].push_back(y);
deg[y]++;
}
for(int i = 1;i <= n;i++){
if(deg[i] == 0){
q[++q[0]] = i;
}
}
for(int i = 1;i <= n;i++){
for(auto it : v[q[i]]){
deg[it]--;
if(deg[it] == 0){
q[++q[0]] = it;
}
}
}
for(int i = 1;i <= n;i++){
printf("%d ", q[i]);
}
return 0;
}