Pagini recente » Cod sursa (job #1940638) | Cod sursa (job #1391124) | Cod sursa (job #2030208) | Cod sursa (job #251519) | Cod sursa (job #171370)
Cod sursa(job #171370)
program toposort_2;
var q,l,g:array[1..500] of integer;
a:array[1..100,1..100] of integer;
kl,n,i,j,k,m:longint;
f,t:text;
procedure rezolva;
var li,ls:integer;
begin
li:=1;ls:=0;
for i:=1 to n do
if g[i]=0 then
begin
ls:=ls+1;
q[ls]:=i;
end;
kl:=0;
while ls>=li do
begin
kl:=kl+1;
l[kl]:=q[li];
q[li]:=0;
li:=li+1;
for i:=1 to n do
if a[l[kl],i]>0 then
begin
a[l[kl],i]:=a[l[kl],i]-1;
g[i]:=g[i]-1;
if g[i]=0 then
begin
ls:=ls+1;
q[ls]:=i;
end;
end;
end;
end;
begin
writeln;
assign(f,'sortaret.in');reset(f);
assign(t,'sortaret.out');rewrite(t);
readln(f,n,m);
for k:=1 to m do
begin
readln(f,i,j);
a[i,j]:=a[i,j]+1;
g[j]:=g[j]+1;
end;
rezolva;
for i:=1 to n do
write(t,l[i],' ');
close(t);
end.