Pagini recente » Cod sursa (job #2770515) | Cod sursa (job #2734020) | Cod sursa (job #2915028) | Cod sursa (job #1113667) | Cod sursa (job #1673039)
#include <fstream>
#include <vector>
#include <string.h>
std::ifstream fin ("combinari.in");
std::ofstream fout ("combinari.out");
void back_tracking(int N, int K, int last, bool *viz, std::vector<int> v) {
if (v.size() == (unsigned int)K) {
for (size_t i = 0; i < K; i++)
fout << v[i] << " ";
fout << '\n';
return;
}
for (int i = last + 1; i <= N; i++) {
if (!viz[i]) {
viz[i] = true;
v.push_back(i);
back_tracking(N, K, i, viz, v);
viz[i] = false;
v.pop_back();
}
}
}
int main() {
int N, K;
fin >> N >> K;
bool viz[N + 1];
memset(viz, false, sizeof(viz));
std::vector<int> v;
back_tracking(N, K, 0, viz, v);
return 0;
}