Pagini recente » Cod sursa (job #387004) | Cod sursa (job #1219447) | Cod sursa (job #1593462) | Cod sursa (job #462618) | Cod sursa (job #1176094)
#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;
}