Cod sursa(job #1466754)

Utilizator linerunnerMihai Ion linerunner Data 30 iulie 2015 10:28:07
Problema Combinari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.77 kb
#include <stdio.h>
#include <stdlib.h>

void combinations(int l, int n, int k, int *comb, FILE *g)
{
    if ( l == k )
    {
        int i;
        for ( i = 1 ; i <= k ; i++ )
            fprintf(g, "%d ", comb[i]);
        fprintf(g, "\n");
    }
    else
    {
        int i;
        for ( i = comb[l] + 1 ; i <= n ; i++ )
        {
            comb[l+1] = i;
            combinations(l + 1, n, k, comb, g);
        }
    }
}

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

    /* Citire date */
    int n, k;
    fscanf(f, "%d %d", &n, &k);

    /* Afisare combinari */
    int comb[19];
    comb[0] = 0;
    combinations(0, n, k, comb, g);

    fclose(f);
    fclose(g);

    return 0;
}