Pagini recente » Cod sursa (job #1237914) | Cod sursa (job #1777953) | Cod sursa (job #1338434) | Cod sursa (job #536631) | Cod sursa (job #1372883)
#include <cstdio>
using namespace std;
FILE *f=fopen("combinari.in","r");
FILE *g=fopen("combinari.out","w");
int n,k,i,niv,v[20];
void print()
{
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 backt(int niv)
{
for(int i=v[niv-1]+1;i<=n;++i)
{
v[niv]=i;
if(valid(niv))
{
if(niv==k)
print();
else
backt(niv+1);
}
}
}
int main()
{
fscanf(f,"%d%d",&n,&k);
backt(1);
return 0;
}