Advertisement
Guest User

Untitled

a guest
Jul 24th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. program topsort;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6. SysUtils;
  7.  
  8. var
  9. n, m, i, j, a, b, pos, gl: integer;
  10. otv: boolean;
  11. ad, list, head, next, mark, prev: array [0..1000] of integer;
  12. ar : array[0..1000,0..1000]of integer;
  13.  
  14. procedure dfs(v: integer);
  15. var
  16. i, u: integer;
  17. begin
  18. mark[v] := 1;
  19. i := head[v];
  20. while(i <> 0)do begin
  21. u := list[i];
  22. if(mark[u] = 0)then dfs(u);
  23. i := next[i];
  24. end;
  25. inc(gl);
  26. ad[gl] := v;
  27. mark[v] := 2;
  28. end;
  29.  
  30. procedure add(a, b: integer);
  31. begin
  32. inc(pos);
  33. list[pos] := b;
  34. next[pos] := head[a];
  35. head[a] := pos;
  36. end;
  37.  
  38. begin
  39. readln(n, m);
  40. gl := 0;
  41. for i := 1 to m do begin
  42. readln(a, b);
  43. add(a, b);
  44. end;
  45. for i := 1 to n do dfs(i);
  46. for i := gl-2 downto 1 do write(ad[i], ' ');
  47. readln; readln;
  48. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement