Pagini recente » Cod sursa (job #2466721) | Cod sursa (job #242339) | Cod sursa (job #2366628) | Cod sursa (job #500313) | Cod sursa (job #408490)
Cod sursa(job #408490)
const fi = 'sortaret.in';
fo = 'sortaret.out';
maxn = 55555;
maxm = 255555;
var ke : array[0..maxm] of longint;
a : array[0..maxn] of longint;
cu,cv : array[0..maxm] of longint;
start : array[0..maxn] of longint;
ok : array[0..maxn] of boolean;
n,m,x : longint;
tf : text;
procedure init;
var i : longint;
begin
assign(tf,fi);
reset(tf);
read(tf,n,m);
for i := 1 to m do
begin
readln(tf,cu[i],cv[i]);
inc(start[cu[i]]);
end;
for i := 2 to n+1 do start[i] := start[i] + start[i-1];
for i := 1 to m do
begin
ke[start[cu[i]]] := cv[i];
dec(start[cu[i]]);
end;
close(tf);
end;
procedure dfs(u:longint);
var i,j,v : longint;
begin
ok[u] := false;
for i := start[u]+1 to start[u+1] do
begin
v := ke[i];
if ok[v] then dfs(v);
end;
inc(x);
a[x] := u;
end;
procedure process;
var i,j : longint;
begin
assign(tf,fo);
rewrite(tf);
fillchar(ok,SizeOf(ok),true);
for i := 1 to n do
if ok[i] then
dfs(i);
for i := n downto 1 do Write(tf,a[i],' ');
close(tf);
end;
begin
init;
process;
end.