Cod sursa(job #1420313)

Utilizator ButnaruButnaru George Butnaru Data 18 aprilie 2015 10:15:52
Problema Sortare topologica Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.73 kb
program sorteret;
type
lista=^struct;
struct=record
m:longint;
next:lista;
end;
    vector1=array[0..50001] of lista;
    vector2=array[0..50001] of longint;
var t:vector1; fr,sol:vector2; a:lista;
    n,m,i,j,x,y,nr:longint;
    f1,f2:text;
procedure dfs(x:longint);
var a:lista;
begin
a:=t[x]; fr[x]:=1;
while a<>nil do begin
if fr[a^.m]=0 then dfs(a^.m);
a:=a^.next;
end;
nr:=nr+1; sol[nr]:=x;
end;
begin
assign (f1,'sortaret.in');
assign (f2,'sortaret.out');
reset (f1);
rewrite (f2);
readln (f1,n,m);
for i:=1 to m do begin
readln (f1,x,y);
new(a); a^.m:=y; a^.next:=t[x]; t[x]:=a;
end;
for i:=1 to n do
if fr[i]=0 then dfs(i);
for i:=nr downto 1 do write (f2,sol[i],' ');
close (f1);
close (f2);
end.