Cod sursa(job #803054)

Utilizator StefanLacheStefan Lache StefanLache Data 26 octombrie 2012 22:49:09
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include<stdio.h>
FILE *g=fopen("combinari.out","wt");
int v[18],N,K;
int bun(int k)
{
    int i=0;
    if(k == 0)
        return 1;
    if(k == 1 && v[0] < v[1])
        return 1;
    if(k == 2 && v[0] < v[1] && v[1] < v[2])
        return 1;
    while(i < k && v[i] < v[i+1])
        ++i;
    if(i == k)
        return 1;
    return 0;
}
void afis()
{
    int i;
    for(i=0;i<K;++i)
        fprintf(g,"%i ",v[i]);
    fprintf(g,"\n");
}
void back(int k)
{
    int i;
    for(i=1;i<=N;++i)
    {
        v[k]=i;
        if(bun(k))
            if(k == K-1)
                afis();
            else back(k+1);
    }
}
int main()
{
    FILE *f=fopen("combinari.in","rt");
    fscanf(f,"%i%i",&N,&K);
    fclose(f);
    back(0);
    return 0;
}