Cod sursa(job #2191052)
Utilizator | Data | 1 aprilie 2018 14:46:52 | |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.59 kb |
#include <fstream>
#include <bitset>
#define NMAX 20
using namespace std;
ifstream f("combinari.in");
ofstream o("combinari.out");
int n,k,s[NMAX];
bitset <NMAX> viz;
void comb(int p)
{
if(p == k + 1)
{
for(int i = 1; i <= k; ++i)
o << s[i] << ' ';
o << '\n';
return;
}
for(int i = s[p-1] + 1; i <= n; ++i)
if(not viz.test(i))
{
viz.set(i);
s[p] = i;
comb(p+1);
viz.reset(i);
}
}
int main()
{
f >> n >> k;
comb(1);
return 0;
}