Pagini recente » Cod sursa (job #799701) | Cod sursa (job #1709387) | Cod sursa (job #2933870) | Cod sursa (job #2547612) | Cod sursa (job #2866188)
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
const int N = 18;
int v[N + 1], n, k;
bitset <N + 1> viz;
bool ok(){
for(int i = 2; i <= k; i++)
if(v[i] <= v[i - 1]) return false;
return true;
}
void afisare(){
if(ok()){
for(int i = 1; i <= k; i++) fout << v[i] << ' ';
fout << '\n';
}
}
void bkt(int poz){
if(poz == k + 1){
afisare();
return;
}
for(int i = 1; i <= n; i++)
if(!viz[i])
v[poz] = i, viz[i] = 1, bkt(poz + 1), viz[i] = 0;
}
int main(){
fin >> n >> k;
bkt(1);
return 0;
}