Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 0.81 KB | None | 0 0
  1. program part2sets;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6.   SysUtils;
  7.  
  8. var
  9.   p: array [0 .. 15] of integer;
  10.   n, k: integer;
  11.  
  12. procedure generate(m, l: integer);
  13. var
  14.   i, j: integer;
  15. begin
  16.   if (m > n) then
  17.   begin
  18.     if (l = k) then
  19.     begin
  20.       for j := 1 to l do
  21.       begin
  22.         for i := 1 to m do
  23.           if (p[i] = j) then write(output, i, ' ');
  24.         writeln(output);
  25.       end;
  26.       writeln(output);
  27.     end;
  28.     exit;
  29.   end;
  30.  
  31.   for i := 1 to l do
  32.   begin
  33.     p[m] := i;
  34.     generate(m + 1, l);
  35.   end;
  36.  
  37.   if (l < k) then
  38.   begin
  39.     p[m] := l + 1;
  40.     generate(m + 1, l + 1);
  41.   end;
  42. end;
  43.  
  44. begin
  45.   assign(input, 'part2sets.in');
  46.   reset(input);
  47.   assign(output, 'part2sets.out');
  48.   rewrite(output);
  49.  
  50.   readln(n, k);
  51.   generate(1, 1);
  52.  
  53.   close(input);
  54.   close(output);
  55. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement