Cod sursa(job #2807140)

Utilizator mircea_007Mircea Rebengiuc mircea_007 Data 23 noiembrie 2021 14:46:02
Problema Combinari Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.67 kb
// This program was written on 23.11.2021
// for problem combinari
// by Mircea Rebengiuc

#include <stdio.h>
#include <ctype.h>

#define MAXN 18

int stack[MAXN];
int sp;

FILE *fin, *fout;

void comb( int n, int i, int k ){
  if( !k ){
    for( i = 0 ; i < sp ; i++ )
      fprintf(fout, "%d ", stack[i]);
    fputc('\n', fout);
    return;
  }
  
  for( ; i + k <= n ; i++ ){
    stack[sp++] = i + 1;// output is indexed from 1
    comb(n, i + 1, k - 1);
    sp--;
  }
}

int main(){
  fin  = fopen("combinari.in",  "r");
  fout = fopen("combinari.out", "w");
  
  int n, k;
  
  fscanf(fin, "%d%d", &n, &k);
  
  sp = 0;
  comb(n, 0, k);
  
  fclose(fin);
  fclose(fout);
  return 0;
}