Cod sursa(job #804476)

Utilizator acomAndrei Comaneci acom Data 29 octombrie 2012 21:00:30
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<cstdio>
using namespace std;
FILE *f=fopen("combinari.in","r");
FILE *g=fopen("combinari.out","w");
int n,k,st[20];
bool ap[20];
int sol(int nr)
{
if (nr==k)
    {if (st[k]<st[k-1] && k>1) return 0;
    else return 1;
    }
else return 0;
return 1;
}
void tipar()
{int i;
for (i=1;i<=k;++i)
    fprintf(g,"%d ",st[i]);
fprintf(g,"\n");
}
void back(int nr)
{int i;
for (i=st[nr-1]+1;i<=n;++i)
    {st[nr]=i;
    if (ap[st[nr]]==0)
        {ap[st[nr]]=1;
        if (sol(nr)) tipar();
        else back(nr+1);
        ap[st[nr]]=0;
        }
    }
}
int main()
{fscanf(f,"%d%d",&n,&k);
back(1);
return 0;
}