Pagini recente » Cod sursa (job #2527166) | Cod sursa (job #19193) | Cod sursa (job #491194) | Cod sursa (job #1430470) | Cod sursa (job #931196)
Cod sursa(job #931196)
#include<cstdio>
#define N 50001
typedef struct nod {
int val;
nod *next;
} *pnod, node;
pnod l[N], st = NULL;
int m,n, viz[N];
void add(int x)
{
pnod p = new node;
p->val = x;
p->next = st;
st = p;
}
void df(int x)
{
viz[x] = 1;
for(pnod p = l[x]; p; p = p->next)
if(!viz[p->val])
df(p->val);
add(x);
}
void afi()
{
freopen("sortaret.out", "w", stdout);
for (pnod p = st; p; p = p->next)
printf("%i ", p->val);
}
int main()
{
int x,y;
//long te,ts;
//ts = GetTickCount();
freopen("sortaret.in", "r", stdin);
scanf("%i%i", &n, &m);
for (;m>0; m--)
{
scanf("%i%i", &x, &y);
pnod p = new node;
p->val = y;
p->next = l[x];
l[x] = p;
}
for(int i = 1; i <= n; i++)
if(!viz[i])
df(i);
afi();
//te = GetTickCount();
//printf("%f\n", (double)(te-ts)/1000);
return 0;
}