Pagini recente » Clasament simulareeeee | Cod sursa (job #384047) | Istoria paginii runda/fmi/clasament | Cod sursa (job #2348974) | Cod sursa (job #3205540)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
const int MAX_LIMIT = 18;
int n, k, fol[MAX_LIMIT], sir[MAX_LIMIT];
bool verificare(int x, int fol[18]) {
for (int i = x + 1; i <= n; ++i) {
if (fol[i]) {
return 0;
}
}
return 1;
}
void gen(int lg, int sir[MAX_LIMIT]) {
if (lg == k + 1) {
for (int j = 1; j <= k; ++j) {
fout << sir[j] << ' ';
}
fout << "\n";
return;
}
for (int i = 1; i <= n; ++i) {
if(fol[i] == 0 && verificare(i ,fol)) {
sir[lg] = i;
fol[i] = 1;
gen(lg + 1, sir);
fol[i] = 0;
}
}
}
int main() {
fin >> n >> k;
int lg = 1;
gen(lg, sir);
return 0;
}