Pagini recente » Cod sursa (job #1834847) | Cod sursa (job #3145396) | Cod sursa (job #1228153) | Cod sursa (job #1857494) | Cod sursa (job #2499383)
#include <cstdio>
#include <vector>
using namespace std;
void back(int currentPos, int N, int K, vector<bool>& taken) {
if (currentPos == K) {
for (int i = 1; i <= N; i++) {
if (taken[i]) {
printf("%d ", i);
}
}
printf("\n");
return;
}
for (int nextElem = 1; nextElem <= N; nextElem++) {
if (!taken[nextElem]) {
taken[nextElem] = true;
back(currentPos + 1, N, K, taken);
taken[nextElem] = false;
}
}
}
int main() {
freopen("combinari.in", "r", stdin);
freopen("combinari.out", "w", stdout);
int N, K;
scanf("%d%d", &N, &K);
vector<bool> taken(N + 1, false);
back(0, N, K, taken);
return 0;
}