Cod sursa(job #791268)

Utilizator dbalutaDaniel Baluta dbaluta Data 23 septembrie 2012 16:34:56
Problema Combinari Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.64 kb
#include <stdio.h>

int N;
int K;

int v[18];

void print(FILE *g)
{
	int i;
	
	for (i = 0; i < K; i++)
		fprintf(g, "%d ", v[i]);
	fprintf(g, "\n");
}

void comb(int k, FILE *g) 
{
	int i;
	//printf("comb k = %d\n", k);
	if (k == K) {
		print(g);
		return;
	}
	
	for (i = 1; i <= N; i++) {
		//printf("k = %d, i = %d\n", k, i);
		if (k == 0) 
			v[k] = i;
		else {
			if (i > v[k-1]) 
				v[k] = i;
			else
				continue;
		}
		comb(k+1, g);
	}
}

int main(void)
{
	FILE *f = fopen("combinari.in", "r");
	if (!f) 
		return -1;
	FILE *g = fopen("combinari.out", "w");
	fscanf(f, "%d %d", &N, &K);
	//printf("N %d, K = %d\n", N, K);
	comb(0, g);

	return 0;
}