Cod sursa(job #1195305)

Utilizator maricasorinSorin-Gabriel maricasorin Data 6 iunie 2014 20:41:32
Problema Sortare topologica Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.75 kb
program sortaretopologica;
type vector=array [1..50000] of integer;
var d,a,b,i,j,n,m:longint;
    f,g:text;
    v:vector;
function pozi(x,d:integer):integer;
 var i:integer;
 begin
 pozi:=0;
 for i:=1 to d do if x=v[i] then pozi:=i
 end;
begin
assign (f,'sortaret.in');
reset(f);
assign (g,'sortaret.out');
rewrite(g);
readln (f,n,m);
d:=0;
for i:=1 to m do begin
 readln(f,a,b);
 if (pozi(a,d)>0) and (pozi(b,d)=0) then begin
  d:=d+1;
  v[d]:=b;
  end
  else if (pozi(a,d)=0) and (pozi(b,d)>0) then begin
   d:=d+1;
   v[d]:=a;
   end
   else if (pozi(a,d)=0) and (pozi(b,d)=0) then begin
    d:=d+2;
    v[d-1]:=a;
    v[d]:=b;
    end;
  end;
for i:=1 to n do if pozi(i,d)=0 then begin
 d:=d+1;
 v[d]:=i;
 end;
for i:=1 to d do write (v[i],' ');
readln;
end.