Pagini recente » Cod sursa (job #8453) | Cod sursa (job #2344410) | Cod sursa (job #2990256) | Cod sursa (job #2905195) | Cod sursa (job #401300)
Cod sursa(job #401300)
const infile='sortaret.in';
outfile='sortaret.out';
maxn=50001;
type lista=^nod;
nod=record
inf:longint;
next:lista;
end;
var a:array[1..maxn]of lista;
ord:array[0..maxn]of longint;
uz:array[1..maxn]of byte;
n,nr,m:longint;
procedure citire;
var f:text;
i,j:longint;
p:lista;
begin
assign(f,infile); reset(f); readln(f,n,m);
while(m>0)do begin
readln(f,i,j); new(p); p^.inf:=j; p^.next:=a[i]; a[i]:=p; dec(m);
end;
close(f);
end;
procedure dfs(x:longint);
var p:lista;
begin
uz[x]:=1; p:=a[x];
while(p<>nil)do begin
if(uz[p^.inf]=0)then dfs(p^.inf);
p:=p^.next;
end;
inc(nr); ord[nr]:=x;
end;
procedure afisare;
var f:text;
i:longint;
begin
assign(f,outfile); rewrite(f);
nr:=0; fillchar(uz,sizeof(uz),0);
for i:=1 to n do if(uz[i]=0)then dfs(i);
for i:=n downto 1 do write(f,ord[i],' ');
close(f);
end;
begin
citire; afisare;
end.