Cod sursa(job #1096632)
Utilizator | Data | 2 februarie 2014 14:16:06 | |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.56 kb |
#include<stdio.h>
FILE *in,*out;
//functii
void back(int k);
bool valid(int k);
void tipar();
//variabile
int n,p;
int stiva[19];
int main(void)
{
in=fopen("combinari.in","rt");
out=fopen("combinari.out","wt");
fscanf(in,"%d%d",&n,&p);
back(1);
fclose(in);
fclose(out);
return 0;
}
void back(int k)
{
for(stiva[k]=stiva[k-1]+1; stiva[k]<=n; ++stiva[k])
{
if(k==p)
tipar();
else
back(k+1);
}
}
void tipar()
{
for(int i=1; i<=p; ++i)
fprintf(out,"%d ",stiva[i]);
fprintf(out,"\n");
}