Pagini recente » Cod sursa (job #1033083) | Cod sursa (job #740026) | Cod sursa (job #532027) | Cod sursa (job #2262260) | Cod sursa (job #1306148)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
void back(int pos, int k, vector<bool>& used, const vector<int>& numbers) {
if (pos == numbers.size() || k == 0) {
if (k == 0) {
for (int i = 0; i < pos; ++i) if (used[i])
fout << numbers[i] << ' ';
fout << '\n';
}
}
else {
used[pos] = true;
back(pos + 1, k - 1, used, numbers);
used[pos] = false;
back(pos + 1, k, used, numbers);
}
}
int main() {
int n, k;
fin >> n >> k;
vector<int> numbers(n, 0);
iota(numbers.begin(), numbers.end(), 1);
vector<bool> used(n, false);
back(0, k, used, numbers);
return 0;
}