Pagini recente » Cod sursa (job #3150322) | Cod sursa (job #1812527) | Cod sursa (job #717145) | Cod sursa (job #1409144) | Cod sursa (job #2809533)
#include <fstream>
#include <vector>
#include <algorithm>
#include <deque>
#define MOD 4001
using namespace std;
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
vector<int> m[50009] ;
int d[50009], grad[50009] ;
int n ;
vector<int> rez ;
void fil(int nod)
{
if(grad[nod] > 1)
{
grad[nod] -- ;
return ;
}
cout << nod << " " ;
for(int f = 0 ; f < m[nod].size() ; f ++)
fil(m[nod][f]) ;
}
bool ord(int b, int a)
{
return grad[a] >= grad[b] ;
}
int main()
{
int q, s ;
cin >> n >> q ;
for(int f = 1 ; f <= n ; f ++)
d[f] = f ;
while(q --)
{
int a, b ;
cin >> a >> b ;
m[a].push_back(b) ;
grad[b] ++ ;
}
sort(d + 1, d + n + 1, ord) ;
for(int f = 1 ; f <= n ; f ++)
if(!grad[d[f]])
fil(d[f]) ;
return 0 ;
}