Pagini recente » Cod sursa (job #124798) | Profil Djok | Cod sursa (job #1569171) | Arhiva de probleme | Cod sursa (job #247645)
Cod sursa(job #247645)
// Arhiva Educationala - Sortare Topologica
type adresa = ^nod;
nod = record inf : word; adr : adresa; end;
var n,m,x,y,i, count: longint;
f : text;
q : adresa;
p : array [1..50000] of adresa;
uz, a : array [1..50000] of word;
procedure df (k:word);
var q : adresa;
begin
q := p[k];
uz[k] := 1;
while (q <> nil) do
begin
if (uz[q^.inf] = 0) then
df (q^.inf) ;
q := q^.adr
end;
inc (count);
a[count]:= k;
end;
begin
assign (f,'sortaret.in');
reset (f);
readln (f, n, m);
count := 0;
for i := 1 to m do
begin
readln (f, x, y);
new (q);
q^.inf := y;
q^.adr := p[x];
p[x] := q;
end;
close (f);
for i := 1 to n do
if (uz[i]=0) then
df(i);
assign (f, 'sortaret.out');
rewrite (f);
for i:= n downto 1 do
write(f, a[i],' ');
close (f);
end.