Pagini recente » Cod sursa (job #101943) | Cod sursa (job #974372) | Cod sursa (job #937566) | Cod sursa (job #839840) | Cod sursa (job #387328)
Cod sursa(job #387328)
#include<stdio.h>
#include<vector>
#define pb push_back
#define N 50002
using namespace std;
vector<int> v[N], q;
int n, m , i, j, x, y, noduri[N], xx;
void rezolva();
int main(){
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d %d", &n, &m);
for (i = 1; i <= m; i++){
scanf("%d %d ", &x, &y);
v[y].pb(x);
noduri[x]++;
}
rezolva();
return 0;
}
void rezolva(){
for (i = 1; i <= n; i++)
if (noduri[i] == 0)
q.pb(i);
for (i = 0; i<q.size(); i++){
xx = q[i];
for (j = 0; j < v[xx].size(); j++){
noduri[v[xx][j]]--;
if (noduri[v[xx][j]] == 0)
q.pb(v[xx][j]);
}
}
for (i = q.size()-1; i >= 0; i--)
printf("%d ", q[i]);
}