Cod sursa(job #296291)

Utilizator mlazariLazari Mihai mlazari Data 4 aprilie 2009 16:07:14
Problema Combinari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.78 kb
Program Combinari;
var n,k : byte;
    C : array[1..18] of byte;
    stop : boolean;

procedure Citeste;
var Intrare : text;
begin
  assign(Intrare,'combinari.in');
  reset(Intrare);
  readln(Intrare,n,k);
  close(Intrare);
end;

procedure Next;
var i,j : byte;
begin
  i:=k;
  while (C[i]=n-k+i) and (i>1) do i:=i-1;
  if (i=1) and (C[1]=n-k+1) then stop:=true
  else begin
    C[i]:=C[i]+1;
    for j:=i+1 to k do C[j]:=C[j-1]+1;
  end;
end;

procedure Generare;
var Iesire : text;
    i : byte;
begin
  assign(Iesire,'combinari.out');
  rewrite(Iesire);
  for i:=1 to k do C[i]:=i;
  stop:=false;
  repeat
    for i:=1 to k do write(Iesire,C[i],' ');
    writeln(Iesire);
    Next;
  until stop;
  close(Iesire);
end;

begin
  Citeste;
  Generare;
end.