Pagini recente » Cod sursa (job #2584804) | Cod sursa (job #2538503) | Cod sursa (job #496851) | Cod sursa (job #520126) | Cod sursa (job #526948)
Cod sursa(job #526948)
#include <fstream>
using namespace std;
#define MAXN 18
ifstream f("combinari.in");
ofstream g("combinari.out");
int solution[MAXN+1];
int inCombinare;
void gen_combinari(int n, int k, int step);
int main(void)
{
int n, k;
f >> n >> k;
gen_combinari(n, k, 0);
f.close();
g.close();
return 0;
}
void gen_combinari(int n, int k, int step)
{
if (step == k)
{
for (int i=1;i<=k;i++)
{
g << solution[i] << " ";
}
g<<"\n";
}
else
{
step++;
for (int i=solution[step-1]+1;i<=n;i++)
{
if (!((inCombinare>>i)&1))
{
solution[step] = i;
inCombinare |= (1<<i);
gen_combinari(n,k,step);
inCombinare ^= (1<<i);
}
}
}
}