iliya785

permutations

Jul 6th, 2013
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 0.61 KB | None | 0 0
  1. var
  2.   a:array[0..10] of longint;
  3.   i,j,n,m:longint;
  4.  
  5. function used(l,x:longint):boolean;
  6. var
  7.   i:longint;
  8. begin
  9.   used:=false;
  10.   for i:=1 to l do
  11.     if a[i] = x then
  12.       begin
  13.         used:=true;
  14.         exit;
  15.       end;
  16. end;
  17.  
  18. procedure print(l:longint);
  19. var
  20.   i:longint;
  21. begin
  22.   if l = n then
  23.     begin
  24.       for i:=1 to l do
  25.         write(a[i],' ');
  26.       writeln;
  27.     end;
  28. end;
  29.  
  30. procedure dfs(v,l:longint);
  31. var
  32.   i:longint;
  33. begin
  34.   a[l]:=v;
  35.   print(l);
  36.   for i:=1 to n do
  37.     if (not used(l,i)) and (l < n) then
  38.       dfs(i,l+1);
  39. end;
  40.  
  41. begin
  42.   read(n);
  43.   dfs(0,0);
  44. end.
Advertisement
Add Comment
Please, Sign In to add comment