Pagini recente » Cod sursa (job #955657) | Cod sursa (job #2578715) | Cod sursa (job #457915) | Clasament andrei_15 | Cod sursa (job #2371836)
#include <bits/stdc++.h>
#define MAX 50100
using namespace std;
ifstream fin("sortaret.in") ;
ofstream fout("sortaret.out") ;
int n , x , y , m , valid[MAX] , Q[MAX] , k ;
vector <int> v[MAX] ;
vector <int>::iterator it ;
int main()
{
fin >> n >> m ;
for(int i=1; i<=m; i++)
{
fin >> x >> y ;
v[x].push_back(y) ;
valid[y] ++ ;
}
for(int i=1; i<=n; i++)
if(valid[i] == 0)
Q[++k] = i ;
for(int i=1; i<=n; i++)
{
x = Q[i] ;
for(it = v[x].begin(); it != v[x].end(); it++)
{
valid[*it] -- ;
if(valid[*it] == 0)
Q[++k] = *it ;
}
}
for(int i=1; i<=n; i++)
fout << Q[i] << " " ;
return 0;
}