Pagini recente » Cod sursa (job #2923305) | Cod sursa (job #2532811) | Cod sursa (job #2711901) | Cod sursa (job #2702716) | Cod sursa (job #2303070)
#include <bits/stdc++.h>
using namespace std;
vector<int> v[50005];
int s[50005],w,n,m,grad[50005],viz[50005];
void sorttop(int q)
{
int i;
viz[q]=1;
for(i=0;i<v[q].size();i++)
{
int t=v[q][i];
if(viz[t]==0)
{
sorttop(t);
}
}
w++;
s[w]=q;
}
int main()
{
ifstream in("sortaret.in");
ofstream out("sortaret.out");
in>>n>>m;
int i,j;
int x,y;
for(i=1;i<=m;i++)
{
in>>x>>y;
v[x].push_back(y);
grad[y]++;
}
for(i=1;i<=n;i++)
{
if(grad[i]==0 && viz[i]==0)
{
sorttop(i);
}
}
//cout<<w<<'\n';
for(i=w;i>0;i--)
{
cout<<s[i]<<' ';
}
}