Pagini recente » Cod sursa (job #147750) | Cod sursa (job #450849) | Rating Hrib Sloth (Hrib) | Cod sursa (job #1206651) | Cod sursa (job #851676)
Cod sursa(job #851676)
#include<cstdio>
#include<cstdlib>
using namespace std;
int* gr[50001];
int pord[50001];
bool viz[50001];
void df(int vf)
{
int i;
viz[vf]=1;
for(i=1;i<=gr[vf][0];i++)
if(!viz[gr[vf][i]])
df(gr[vf][i]);
pord[0]++;
pord[pord[0]]=vf;
}
int main()
{
int n,m,i,x,y;
freopen("sortaret.in","r",stdin);
scanf("%d %d\n",&n,&m);
for(i=1;i<=n;i++)
{
gr[i]=(int*)realloc(gr[i],4);
gr[i][0]=0;
}
for(i=1;i<=m;i++)
{
scanf("%d %d\n",&x,&y);
gr[x][0]++;
gr[x]=(int*)realloc(gr[x],(gr[x][0]+1)*4);
gr[x][gr[x][0]]=y;
}
fclose(stdin);
for(i=1;i<=n;i++)
if(!viz[i])
df(i);
freopen("sortaret.out","w",stdout);
for(i=n;i>0;i--)
printf("%d ",pord[i]);
printf("\n");
fclose(stdout);
return 0;
}