Cod sursa(job #727557)

Utilizator alexarnautuArnautu Alexandru alexarnautu Data 28 martie 2012 08:39:52
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <cstdio>

using namespace std;

FILE * iFile;
FILE * oFile;

int n, p,sol[19], b[19];

void back(int k)
{
    int i;
    if(k-1 == p)
    {
        for(i=1;i<=p;i++)
            fprintf(oFile, "%d ", sol[i]);
        fprintf(oFile, "\n");
    } else {
        for(i=1;i<=n;i++)
        {
            if(sol[k-1] < i && !b[i])
            {
                sol[k] = i;
                b[i] = 1;
                back(k+1);
                b[i] = 0;
            }
        }
    }
}

int main()
{
    iFile = fopen("combinari.in", "r");
    oFile = fopen("combinari.out", "w");

    fscanf(iFile, "%d %d", &n, &p);

    back(1);

    fclose(iFile);
    fclose(oFile);

    return 0;
}