Cod sursa(job #1780659)
Utilizator | Cosmin Manea cosminmanea | Data | 16 octombrie 2016 14:46:19 |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.57 kb |
#include <cstdio>
FILE *f=fopen("combinari.in","r");
FILE *g=fopen("combinari.out","w");
using namespace std;
int v[20],n,k;
void display_sol()
{
int i;
for(i=1;i<=k;i++)
fprintf(g,"%d ",v[i]);
fprintf(g,"\n");
}
int valid(int p)
{
if(p>1&&v[p]<=v[p-1])
return 0;
return 1;
}
void backtr(int p)
{
for(v[p]=1;v[p]<=n;v[p]++)
if(valid(p))
if(p==k)
display_sol();
else backtr(p+1);
}
int main()
{
fscanf(f,"%d%d",&n,&k);
backtr(1);
return 0;
}