Pagini recente » Cod sursa (job #661648) | Cod sursa (job #1996574) | Cod sursa (job #712744) | Cod sursa (job #1784931) | Cod sursa (job #730549)
Cod sursa(job #730549)
Program p1_sortare_dfs;
type lista=^Celula;
Celula = record
info:longint;
next:lista;
end;
var fi,fo : text; q:lista; x,y : longint;
a : array[0..500000] of lista;
b : array[0..500002] of byte;
i,n,n2 : longint;
Procedure dfs(k:longint);
var r:lista;
begin
r:=a[k]; b[k]:=1; write(fo,k,' ');
while r<>nil do begin
if b[r^.info]=0 then dfs(r^.info);
r:=r^.next;
end;
end;
begin
assign(fi,'sortaret.in'); reset(fi); readln(fi,n,n2);
assign(fo,'sortaret.out'); rewrite(fo);
for i:=1 to n do begin a[i]:=nil; b[i]:=0; end;
for i:=1 to n2 do begin
new(q);
readln(fi,x,y);
q^.info:=y;
q^.next:=a[x];
a[x]:=q;
end;
for i:=1 to n do if b[i]=0 then dfs(i);
close(fi); close(fo);
end.