Pagini recente » Cod sursa (job #740101) | Cod sursa (job #2503454) | Cod sursa (job #319665) | Cod sursa (job #2708329) | Cod sursa (job #419408)
Cod sursa(job #419408)
#include<fstream.h>
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,i,a[50000][1000],x,y,vc[50000],cv[50000],ti[50000],t,sol[50000];
void bek(int i)
{ for(int j=1;j<=a[i][0];j++) if(!vc[a[i][j]]){ cv[a[i][j]]=vc[a[i][j]]=1;
bek(a[i][j]);
}
ti[++t]=i;
}
int main()
{ f>>n>>m;
for(i=1;i<=m;i++) f>>x>>y,a[x][0]++,a[x][a[x][0]]=y;t=1;
for(i=1;i<=n&&t;i++)if(!cv[i]) { t=0;
memset(vc,0,50000);
//memset(ti,0,50000);
cv[i]=vc[i]=1;
bek(i);
if(t==n) { t=0;for(int j=n;j;j--)g<<ti[j]<<' ';
//memcpy(sol,ti,50000);
}
}
for(;t;t--)g<<ti[t]<<' ';
f.close();
g.close();
return 0;
}