Cod sursa(job #681773)

Utilizator DSzprogDombi Szabolcs DSzprog Data 17 februarie 2012 19:26:22
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <cstdio>

int n;
int m;
int a[16];

FILE * f1 = fopen("combinari.in", "rt");
FILE * f2 = fopen("combinari.out", "wt");

void p(int s) {
	if (s == n) {
		for (int i = 0; i < n; ++i) {
			fprintf(f2, "%d ", a[i] + 1);
		}
		fprintf(f2, "\n");
		return;
	}
	if (s) {
		for (int i = a[s - 1] + 1; i < m; ++i) {
			a[s] = i;
			p(s + 1);
		}
	} else {
		for (int i = 0; i < m - n + 1; ++i) {
			a[0] = i;
			p(1);
		}
	}
}

int main() {
	fscanf(f1, "%d", &m);
	fscanf(f1, "%d", &n);
	p(0);
	fclose(f1);
	fclose(f2);
}