Pagini recente » Cod sursa (job #2556288) | Cod sursa (job #1611869) | Cod sursa (job #2359861) | Cod sursa (job #2290666) | Cod sursa (job #362249)
Cod sursa(job #362249)
#include <iostream>
#include <fstream>
#include <vector>
#include <iterator>
std::ifstream fin("combinari.in");
std::ofstream fout("combinari.out");
std::vector<int> c;
int n, k;
void citire()
{
fin >> n >> k;
}
void afisare()
{
copy(c.begin(), c.end(), std::ostream_iterator<int>(fout, " "));
fout << "\n";
}
bool check(int i)
{
for (int j = 0; j < i; j++)
{
if (c[i] <= c[j]) return 0;
}
return 1;
}
void gen(int i)
{
if (i == k) afisare();
else
{
for (int j = c[i - 1]; j <= n; j++)
{
c.push_back(j);
if (check(i)) gen(i + 1);
c.pop_back();
}
}
}
int main()
{
citire();
gen(0);
}