Pagini recente » Cod sursa (job #3189859) | Cod sursa (job #546272) | Cod sursa (job #300860) | Cod sursa (job #901297) | Cod sursa (job #1255022)
#include <fstream>
#include <vector>
void printComb(const std::vector<int> &v, std::ofstream &out)
{
for (auto i = 1u; i < v.size(); ++i)
out << v[i] + 1 << " ";
out << "\n";
}
void back(std::vector<int> &comb, int N, int pos, std::ofstream &out)
{
if (static_cast<std::size_t>(pos) == comb.size()) {
printComb(comb, out);
return;
}
for (auto i = comb[pos - 1] + 1; i < N; ++i) {
comb[pos] = i;
back(comb, N, pos + 1, out);
}
}
void genComb(int N, int K, std::ofstream &out)
{
std::vector<int> v(K + 1, -1);
back(v, N, 1, out);
}
int main()
{
std::ifstream fin("combinari.in");
std::ofstream fout("combinari.out");
int N, K;
fin >> N >> K;
fin.close();
genComb(N, K, fout);
fout.close();
return 0;
}