Cod sursa(job #1369702)

Utilizator andytosaAndrei Tosa andytosa Data 3 martie 2015 10:44:53
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <cstdio>

using namespace std;
FILE *F=fopen("combinari.in","r");
FILE *G=fopen("combinari.out","w");
int v[20],n,k;


void afis()
{
    for(int i=1; i <= k; ++i)
        fprintf(G,"%d ",v[i]);
    fprintf(G,"\n");
}
bool valid(int niv)
{
    for(int i = 1; i < niv; ++i)
        if(v[i] == v[niv])
            return false;
    return true;
}
void bac(int niv)
{
    int i;
    for(i=v[niv-1]+1;i<=n;++i){
        v[niv] = i;
        if(valid(niv)){
            if(niv==k)
                afis();
            else
                bac(niv+1);
        }
    }
}
int main()
{
    fscanf(F,"%d%d",&n,&k);
    bac(1);
    return 0;
}