Cod sursa(job #273463)

Utilizator FllorynMitu Florin Danut Flloryn Data 8 martie 2009 17:03:00
Problema Sortare topologica Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.8 kb
program pascal;
var f,g:text;   t:array[0..1,1..100000] of integer;
                start:array[1..100000] of  integer;
                i,j,x,y,n,m,k:longint; s:array[0..50000] of byte;

 procedure citire;
 begin
 assign(f,'sortaret.in'); reset(f);
 assign(g,'sortaret.out'); rewrite(g);
 readln(f,n,m);
 k:=0;
 for x:=1 to m do
    begin
    readln(f,i,j);
    inc(k);
    t[0,k]:=j;
    t[1,k]:=start[i];
    start[i]:=k;
    inc(k);
    t[0,k]:=i;
    t[1,k]:=start[j];
    start[j]:=k;
    end;
 end;

 procedure df(nod:longint);
 var p:longint;
 begin
 write(g,nod,' ');
 p:=start[nod];
 s[nod]:=1;
 while p<>0 do
   begin
   if s[t[0,p]]=0 then df(t[0,p]);
   p:=t[1,p];
   end;
 end;

begin
citire;
for i:=1 to n do
if s[i]=0 then df(i);
close(f);
close(g);
end.