Pagini recente » Cod sursa (job #2615496) | Cod sursa (job #695265) | Cod sursa (job #1957151) | Cod sursa (job #677156) | Cod sursa (job #362251)
Cod sursa(job #362251)
#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
{
int s;
if (i == 0) s = 1;
else s = c[i - 1];
for (int j = s; j <= n; j++)
{
c.push_back(j);
if (check(i)) gen(i + 1);
c.pop_back();
}
}
}
int main()
{
citire();
gen(0);
}