Pagini recente » Cod sursa (job #1945005) | Cod sursa (job #1617824) | Cod sursa (job #1762930) | Cod sursa (job #1001912) | Cod sursa (job #406992)
Cod sursa(job #406992)
#include<stdio.h>
#include<stdlib.h>
using namespace std;
#define FIN "sortaret.in"
#define FOUT "sortaret.out"
#define NMAX 50004
#define MMAX 100005
struct nod
{
int info;
nod *urm;
} *G[NMAX],*rez;
typedef nod* lista;
void add(lista &v,int x)
{
nod *q=new nod;
q->info=x;
q->urm=v;
v=q;
}
int viz[NMAX],n,m;
void dfs(int x)
{viz[x]=1;
for(nod* i=G[x];i;i=i->urm)
{if(!viz[i->info])
dfs(i->info);
}
viz[x]=2;
add(rez,x);
}
int main()
{freopen(FIN,"r",stdin);
freopen(FOUT,"w",stdout);
scanf("%d %d",&n,&m);
for(;m;m--)
{int x,y;
scanf("%d %d",&x,&y);
add(G[x],y);
}
for(int i=1;i<=n;i++) if(!viz[i]) dfs(i);
for(nod* i=rez;i;i=i->urm )
printf("%d ",i->info);
}