Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program topsort;
- {$APPTYPE CONSOLE}
- uses
- SysUtils;
- var
- n, m, i, j, a, b, pos, gl: integer;
- otv: boolean;
- ad, list, head, next, mark, prev: array [0..1000] of integer;
- ar : array[0..1000,0..1000]of integer;
- procedure dfs(v: integer);
- var
- i, u: integer;
- begin
- mark[v] := 1;
- i := head[v];
- while(i <> 0)do begin
- u := list[i];
- if(mark[u] = 0)then dfs(u);
- i := next[i];
- end;
- inc(gl);
- ad[gl] := v;
- mark[v] := 2;
- end;
- procedure add(a, b: integer);
- begin
- inc(pos);
- list[pos] := b;
- next[pos] := head[a];
- head[a] := pos;
- end;
- begin
- readln(n, m);
- gl := 0;
- for i := 1 to m do begin
- readln(a, b);
- add(a, b);
- end;
- for i := 1 to n do dfs(i);
- for i := gl-2 downto 1 do write(ad[i], ' ');
- readln; readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement