Cod sursa(job #1515687)

Utilizator AncaSScarlat Elena Anca AncaS Data 2 noiembrie 2015 07:40:20
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <cstdio>

int v[19];

void comb( int n, int k, int pos, FILE *fout ) {
  if ( pos > k ) { // afisam o combinare
    int i;
    for ( i = 1; i <= k; i++ )
      fprintf( fout, "%d ", v[i] );
    fprintf( fout, "\n" );
  } else {
    for ( v[pos] = v[pos-1] + 1; v[pos] <= n - (k - pos); v[pos]++ )
      comb( n, k, pos + 1, fout ); // porneste de la pozitia urmatoare
  }
}

int main() {
  FILE *fin, *fout;
  int n, k;

  fin = fopen( "combinari.in", "r" );
  fscanf( fin, "%d%d", &n, &k );
  fclose( fin );

  fout = fopen( "combinari.out", "w" );
  v[0] = 0;
  comb( n, k, 1, fout );
  fclose( fout );

  return 0;
}