Cod sursa(job #1249420)
Utilizator | Data | 26 octombrie 2014 23:10:42 | |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
FILE *f, *g;
long int N, K;
int s[21];
void back(long int L)
{
long int i;
if(L == K)
{
for(i = 1; i <= K; i++)
fprintf(g, "%d ", s[i]);
fprintf(g, "\n");
}
else
{
for(i = s[L] + 1; i <= N; i++)
{
s[L+1] = i;
back(L+1);
}
}
}
int main()
{
f = fopen("combinari.in", "r");
g = fopen("combinari.out", "w");
fscanf(f, "%ld", &N);
fscanf(f, "%ld", &K);
memset(s, 0, sizeof(s));
back(0);
fclose(f);
fclose(g);
return 0;
}