Pagini recente » Cod sursa (job #3142158) | Cod sursa (job #2321979) | Cod sursa (job #1159817) | Cod sursa (job #1697498) | Cod sursa (job #948570)
Cod sursa(job #948570)
#include <vector>
#include <stdio.h>
using namespace std;
int n, k;
vector <int> elSet;
class Combinations
{
int N, K;
vector <int> sol;
void next(int level, int first)
{
if (level == k)
{
for (int i = 0; i < k; i++)
printf("%d ", sol[i]);
printf("\n");
return;
}
for (int i = first; i < N; i++)
{
sol[level] = elSet[i];
next(level + 1, i + 1);
}
}
public:
void generate(int n, int k, vector <int> v)
{
N = n;
K = k;
sol = vector <int>(K);
elSet = v;
next(0, 0);
}
};
int main()
{
freopen("combinari.in", "r", stdin);
freopen("combinari.out", "w", stdout);
scanf("%d", &n);
scanf("%d", &k);
for (int i = 1; i <= n; i++)
elSet.push_back(i);
Combinations().generate(n, k, elSet);
return 0;
}