Pagini recente » Cod sursa (job #634192) | Cod sursa (job #624170) | Cod sursa (job #2353036) | Cod sursa (job #1227104) | Cod sursa (job #2030142)
#include <fstream>
using namespace std;
ifstream fin ("combinari.in");
ofstream fout ("combinari.out");
int n, k, v[20];
bool check (int niv) {
for (int i = 1; i <= niv - 1; i++)
if (v[i] == v[niv] || v[i] > v[niv])
return 0;
return 1;
}
void backtrack (int niv) {
if (niv > k) {
for (int i = 1; i <= k; i++)
fout << v[i] << " ";
fout << "\n";
return;
}
for (int i = 1; i <= n; i++) {
v[niv] = i;
if (check (niv))
backtrack (niv + 1);
}
}
int main () {
fin >> n >> k;
backtrack (1);
return 0;
}