Pagini recente » Cod sursa (job #855594) | Cod sursa (job #799768) | Cod sursa (job #654545) | Cod sursa (job #1938005) | Cod sursa (job #649949)
Cod sursa(job #649949)
#include <fstream>
#include <vector>
#define INFILE "combinari.in"
#define OUTFILE "combinari.out"
using namespace std;
ifstream fin(INFILE);
ofstream fout(OUTFILE);
int n, k;
vector<int> v;
void back()
{
if (v.size() == k) {
for (vector<int>::iterator it = v.begin(); it != v.end(); ++it)
fout << *it << " ";
fout << endl;
return;
}
int first = v.size() > 0?v[v.size()-1]:1;
int last = k - v.size() - 1 + n;
for(int i = first; i<=last; ++i)
{
bool contains = false;
for(vector<int>::iterator it = v.begin(); it != v.end(); ++it)
if (*it >= i)
contains = true;
if (!contains) {
v.push_back(i);
back();
v.pop_back();
}
}
}
int main()
{
fin >> n >> k;
back();
fin.close();
fout.close();
return 0;
}