Pagini recente » Cod sursa (job #1191159) | Cod sursa (job #2606435) | Cod sursa (job #1150998) | Cod sursa (job #2817120) | Cod sursa (job #3295149)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int n, k;
vector<int> domain; // 1..N
vector<int> solution; // combinarea curentă
void back(int start) {
if (solution.size() == k) {
for (int x : solution)
fout << x << " ";
fout << "\n";
return;
}
for (int i = start; i < domain.size(); ++i) {
solution.push_back(domain[i]);
back(i + 1); // următoarele pot începe doar de la următoarea poziție
solution.pop_back();
}
}
int main() {
fin >> n >> k;
domain.resize(n);
for (int i = 0; i < n; ++i)
domain[i] = i + 1;
back(0);
return 0;
}