Cod sursa(job #1707212)

Utilizator Tiberiu02Tiberiu Musat Tiberiu02 Data 24 mai 2016 17:17:50
Problema Combinari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.76 kb
# include <stdio.h>
# include <stdlib.h>

# define MAX_N 20

int f[MAX_N];

int N, K;

void comb( int k, FILE *fout, int p ) {
    int i;
    if ( k == 0 ) {
        /// Am generat toate cele k numere
        /// le afisam
        for ( i = 1; i <= N; i ++ )
            if ( f[i] )
                fprintf( fout, "%d ", i );
            fprintf( fout, "\n" );
    } else {
        i = p;
        while ( i <= N - k + 1 && !f[i] ) {
            f[i] = 1;
            comb( k - 1, fout, i + 1 );
            f[i] = 0;

            i ++;
        }
    }
}

int main() {
    FILE *fin = fopen( "combinari.in", "r" ), *fout = fopen( "combinari.out", "w" );

    int i;

    fscanf( fin, "%d%d", &N, &K );

    comb( K, fout, 1 );

    fclose( fin );
    fclose( fout );

    return 0;
}