Pagini recente » Cod sursa (job #2496533) | Cod sursa (job #1708706) | Cod sursa (job #2847637) | Cod sursa (job #2918176) | Cod sursa (job #2570374)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int n,m;
int sol[20];
bool verificare(int pas) {
for (int i=1;i<pas;++i)
if (sol[pas] == sol[i]) return false;
return true;
}
void afisare() {
for (int i=1;i<=m;++i) fout << sol[i] <<" ";
fout << "\n";
}
void backtrack(int pas) {
if (pas > m) afisare();
else
for (int i=sol[pas-1] + 1;i<=n;++i) {
sol[pas] = i;
if (verificare(pas)) backtrack(pas+1);
}
}
int main() {
fin >> n >> m;
backtrack(1);
}