Cod sursa(job #1588078)
| Utilizator | Data | 2 februarie 2016 19:39:14 | |
|---|---|---|---|
| Problema | Combinari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
#include <bitset>
using namespace std;
bitset<19> nr;
int n, k, v[19];
ifstream f("combinari.in");
ofstream g("combinari.out");
void bk(int x)
{
if(x > k)
{
for(int i = 1; i <= k; ++i)
g << v[i] << ' ';
g << '\n';
}
else
for(int i = 1; i <= n; ++i)
if(!nr[i] && (v[x-1] < i || x == 1))
{
nr[i] = 1;
v[x] = i;
bk(x+1);
nr[i] = 0;
}
}
int main()
{
f >> n >> k;
bk(1);
return 0;
}
