Pagini recente » Istoria paginii runda/simulareoji2/clasament | Cod sursa (job #2019605) | Cod sursa (job #1263806) | Cod sursa (job #1519847) | Cod sursa (job #1596197)
type
ref=^coada;
coada=record
inf:integer;
adru:ref;
end;
vec=array[1..50000]of ref;
vec1=array[1..50001] of integer;
var
g:vec; deg,q:vec1;
c:ref;
a,b,n,m,i,con,x:integer;
f:text;
begin
assign(f,'sortaret.in');
reset(f);
read(f,n,m);
while (not(eof(f))) do
begin
read(f,a,b);
inc(deg[b]);
new(g[a]);
if (i<>a) then c:=nil;
g[a]^.inf:=b;
g[a]^.adru:=c;
c:=g[a];
i:=a;
end;
close(f);
con:=0;
for i:=1 to n do if (deg[i]=0) then
begin
con:=con+1;
q[con]:=i;
end;
for i:=1 to n do
begin
x:=q[i];
c:=g[i];
while (c<>nil) do
begin
deg[c^.inf]:=deg[c^.inf]-1;
if (deg[c^.inf]=0) then
begin
inc(con);
q[con]:=c^.inf;
end;
c:=c^.adru;
end;
end;
assign(f,'sortaret.out');
rewrite(f);
for i:=1 to n do write(f,q[i],' ');
close(f);
end.