Pagini recente » Cod sursa (job #2060241) | Cod sursa (job #1205314) | Cod sursa (job #2879274) | Cod sursa (job #1032229) | Cod sursa (job #377318)
Cod sursa(job #377318)
#include<fstream.h>
int c[51000],m,n,i,v[101000][2],x,y,start[51000],grad[51000],p,u,t;
int main()
{
ifstream f("sortaret.in");
ofstream g("sortaret.out");
f>>n>>m;
for(i=1;i<=m;i++)
{
f>>x>>y;
v[i][0]=y;
v[i][1]=start[x];
start[x]=i;
grad[y]++;
}
p=1;
for(i=1;i<=n;i++)
if(!grad[i])
{
c[++u]=i;
t=start[i];
while(t)
{
grad[v[t][0]]--;
t=v[t][1];
}
}
for(i=p;i<=u&&p<=n;i++)
{
t=start[c[i]];
while(t)
{
if(!grad[v[t][0]])
c[++u]=v[t][0];
t=v[t][1];
}
}
for(i=1;i<=n;i++)
g<<c[i]<<' ';
return 0;
}