PlasmaVNGaming

Untitled

Apr 12th, 2019
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. uses crt;
  2. var s, x: string;
  3. free: Array[1..100] of boolean;
  4. a: Array[1..100] of String;
  5. n, l, k: integer;
  6.  
  7. procedure tri(i: integer);
  8. var j: integer;
  9. begin
  10. for j:=1 to length(s) do
  11. begin
  12. if free[j] then continue;
  13. x:=x+s[j];
  14. free[j]:=true;
  15. if i = length(s) then
  16. begin
  17. Inc(n);
  18. a[n]:=x;
  19. end
  20. else tri(i+1);
  21. free[j]:=false;
  22. delete(x, length(x), 1);
  23. end;
  24. end;
  25.  
  26. begin
  27. readln(s);
  28. x:='';
  29. n:=0;
  30. fillchar(free, sizeof(free), false);
  31. tri(1);
  32. for l:=1 to n - 1 do
  33. for k:=l + 1 to n do
  34. if a[l] > a[k] then
  35. begin
  36. s:=a[l];
  37. a[l]:=a[k];
  38. a[k]:=s;
  39. end;
  40. s:=a[1];
  41. writeln(s);
  42. for l:=2 to n do
  43. begin
  44. if a[l] <> s then writeln(a[l]);
  45. s:=a[l];
  46. end;
  47. readln;
  48. end.
Advertisement
Add Comment
Please, Sign In to add comment