Pagini recente » Cod sursa (job #168044) | Cod sursa (job #3202053) | Cod sursa (job #180006) | Cod sursa (job #2215488) | Cod sursa (job #2361366)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
const int Nmax = 50005;
int n , g[Nmax] , m;
priority_queue < int > Q;
vector < int > L[Nmax];
int main()
{
int x , y;
fin >> n >> m;
for(int i = 1 ; i <= m ; i++)
fin >> x >> y , ++g[y] , L[x].push_back(y);
for(int i = 1 ; i <= n ; i++)
if(!g[i])
Q.push(-i);
while(!Q.empty())
{
x = -Q.top();
fout << x << " ";
Q.pop();
for(auto it : L[x])
{
if(!g[it])
continue;
--g[it];
if(!g[it])
Q.push(-it);
}
}
fin.close();
fout.close();
return 0;
}