Cod sursa(job #622921)

Utilizator mihaiiDraghici Mihail mihaii Data 18 octombrie 2011 18:39:58
Problema Combinari Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <stdio.h>
#include <fstream>

int main() {
	int v[20], n, i, j,  m, nr, t;
	FILE *f, *g;
	f = fopen ("combinari.in", "r");
	g = fopen ("combinari.out", "w");

	fscanf(f, "%d%d", &n, &m);
	v[0] = 1;
	for (i = 1; i < m-1; i++)
		v[i] = v[i - 1] + 1;
	v[m-1] = v[m-2];
	while (v[0] < n - m + 1) {
		t = 0;
		nr = m-1;
		v[nr]++;
		t = v[nr] / (n + 1);
		while ((t != 0) && (nr > 0)) {
			nr--;
			t = 0;
			v[nr]++;
			t = v[nr] / (n + 1);
		}
		for (j = nr + 1; j < m; j++)
			v[j] = v[j-1] + 1;;
		if (v[m-1] <= n) {
			for (j = 0; j < m; j++)
				fprintf(g, "%d ", v[j]);
			fprintf(g, "\n");
		}
	}
	fclose(f);
	fclose(g);
	return 0;
}