Cod sursa(job #2452038)

Utilizator TudorP2006Popescu Tudor TudorP2006 Data 29 august 2019 12:04:19
Problema Combinari Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <stdio.h>

int v[18], f[19];
int n, k;
FILE *fin, *fout;
void afisare(){
  int i;
  for ( i = 0; i < k; i++ )
    fprintf( fout, "%d ", v[i] );
  fprintf( fout, "\n" );
}
void generare( int poz ){
  if ( poz != k ){
    int i, x;
    if ( poz == 0 )
      x = 0;
    else
      x = v[poz - 1];
    for ( i = x + 1; i <= n - k + 1 + poz; i++ ){
      if ( f[i] == 0 ){
        f[i] = 1;
        v[poz] = i;
        generare( poz + 1 );
        f[i] = 0;
      }
    }
  }
  else{
    afisare();
  }
}

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

  fclose( fin );
  fclose( fout );
  return 0;
}