Pagini recente » Cod sursa (job #1264538) | Cod sursa (job #446867) | Cod sursa (job #3156992) | Cod sursa (job #1662807) | Cod sursa (job #712647)
Cod sursa(job #712647)
#include <iostream>
#include <stdio.h>
#define nn 50010
using namespace std;
int n,m, viz[nn], sol[nn];
struct nod{
int inf;
nod *urm;
}*G[nn];
void add(int a, int b)
{
nod *aux = new nod;
aux->inf = b;
aux->urm = G[a];
G[a] = aux;
}
void dfs(int x)
{
viz[x] = 1;
for(nod *p=G[x];p;p=p->urm)
if(!viz[p->inf])
dfs(p->inf);
sol[++sol[0]] = x;
}
int main()
{
freopen ("sortaret.in","r",stdin);
freopen ("sortaret.out","w",stdout);
scanf("%d %d", &n, &m);
int a,b;
for(int i=1;i<=m;i++)
{
scanf("%d %d", &a, &b);
add(a,b);
}
for(int i=1;i<=n;i++)
if(!viz[i])
dfs(i);
for(int i=sol[0];i>=1;i--)
printf("%d ",sol[i]);
return 0;
}