Pagini recente » Cod sursa (job #1451932) | Cod sursa (job #2619739) | Cod sursa (job #1397780) | Cod sursa (job #1933535) | Cod sursa (job #2795010)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream in("combinari.in");
ofstream out("combinari.out");
void comb(int n, int k, int y, vector<int> v, vector<int> amvazut){
if (y == k){
for (int i = 0; i < k; i++)
out<< v[i] << " ";
out<< "\n";
}
else
{
for (int i = 1; i <= n; i++){
bool ok = 0;
int j = i;
int Max = max(y - 1, 0);
v[y] = i;
amvazut[i] += 1;
if (amvazut[i] <= 1 && v[y] >= v[Max])
comb(n, k, y + 1, v, amvazut);
amvazut[v[y]] -= 1;
}
}
}
int main()
{
int n, k, y = 0;
in>> n >> k;
vector<int> v(n, 0), amvazut(n + 1, 0);
for (int i = 0; i < n; i++)
v[i] = i + 1;
comb(n, k, y, v, amvazut);
return 0;
}