Cod sursa(job #1176094)

Utilizator cosgbCosmin cosgb Data 25 aprilie 2014 16:50:32
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <stdio.h>
#include <vector>

using namespace std;

void combinari(vector<bool> &v, int N, int K, int taken, int index)
{
	if (taken == K) {
		for (int i = 1; i <= N; i++) {
			if (v[i] == true) {
				printf("%d ", i);
			}
		}
		printf("\n");
	} else {
		v[index] = true;
		combinari(v, N, K, taken + 1, index + 1);
		v[index] = false;
		if ((N - index) >= (K - taken))
			combinari(v, N, K, taken, index + 1);
	}
}

int main()
{
	freopen("combinari.in", "r", stdin);
	freopen("combinari.out", "w", stdout);

	int N, K;
	scanf("%d %d", &N, &K);
	vector<bool> elem(N + 1, false);
	combinari(elem, N, K, 0, 1);


	return 0;
}