Pagini recente » Cod sursa (job #2236270) | Cod sursa (job #166339)
Cod sursa(job #166339)
#include <stdio.h>
int n, m;
int i, j, k;
int o[50001], s[50001];
typedef struct nod {
int vf;
nod* urm;
} NOD, *PNOD;
PNOD l[50001];
void Add(int i, int j);
void DF(int nod);
int main()
{
freopen("sortaret.in", "r", stdin);
freopen("sortaret.out", "w", stdout);
scanf("%d %d", &n, &m);
for ( k = 1; k <= m; k++ )
scanf("%d %d", &i, &j),
Add(i, j);
k = n;
for ( i = 1; i <= n; i++ )
if ( !s[i] )
DF(i);
for ( i = 1; i <= n; i++ )
printf("%d ", o[i]);
printf("\n");
return 0;
}
void Add(int i, int j)
{
PNOD q = new NOD;
q->vf = j;
q->urm = l[i];
l[i] = q;
}
void DF(int nod)
{
s[nod] = 1;
for ( PNOD q = l[nod]; q; q = q->urm )
if ( !s[q->vf] )
DF(q->vf);
o[k] = nod;
k--;
}