Pagini recente » Cod sursa (job #3366080) | Cod sursa (job #3366077) | Cod sursa (job #3366092) | Cod sursa (job #3366168) | Cod sursa (job #3366606)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,x,y,k;
int h[50005],v[100005],urm[100005],gr[50005],c[50005];
int main()
{
f>>n>>m;
for(int i=1;i<=m;i++)
{
f>>x>>y;
k++;
v[k]=y;
urm[k]=h[x];
h[x]=k;
gr[y]++;
}
int st=1,dr=0;
for(int i=1;i<=n;i++)
if(gr[i]==0)
c[++dr]=i;
while(st<=dr)
{
x=c[st++];
g<<x<<" ";
for(int i=h[x];i!=0;i=urm[i])
{
y=v[i];
gr[y]--;
if(gr[y]==0)
c[++dr]=y;
}
}
return 0;
}