Pagini recente » Cod sursa (job #649949) | Cod sursa (job #2752086) | Cod sursa (job #1785074) | Cod sursa (job #3300563) | Cod sursa (job #649952)
Cod sursa(job #649952)
#include <fstream>
#include <vector>
#define INFILE "combinari.in"
#define OUTFILE "combinari.out"
using namespace std;
ifstream fin(INFILE);
ofstream fout(OUTFILE);
int n,k;
void back(vector<int> &v, int n, int k)
{
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:1;
int last = k - v.size() - 1 + n;
for(int i = first; i<=last; ++i)
{
v.push_back(i);
back(v, n, k);
v.pop_back();
}
}
int main()
{
fin >> n >> k;
vector<int> v;
back(v, n, k);
fin.close();
fout.close();
return 0;
}