Cod sursa(job #1336471)
| Utilizator | Data | 7 februarie 2015 19:28:32 | |
|---|---|---|---|
| Problema | Sortare topologica | Scor | 0 |
| Compilator | fpc | Status | done |
| Runda | Arhiva educationala | Marime | 0.64 kb |
var n,m,i,j,k:longint; r:boolean;
a,b,c,d:array[1..10000] of longint;
begin
assign(input,'sortaret.in');
assign(output,'sortaret.out');
reset(input);
rewrite(output);
read(n,m);
for i:=1 to m do
read(a[i],b[i]);
for i:=1 to n do begin
c[i]:=i;
d[i]:=i;
end;
r:=true;
while r do begin
r:=false;
for i:=1 to m do begin
if d[a[i]]>d[b[i]] then begin
r:=true;
k:=c[a[i]];
c[a[i]]:=c[b[i]];
c[b[i]]:=k;
k:=d[a[i]];
d[a[i]]:=d[b[i]];
d[b[i]]:=k;
end;
end;
end;
for i:=1 to n do
write(c[i],' ');
end.