Pagini recente » Borderou de evaluare (job #1772982) | Cod sursa (job #397480) | Monitorul de evaluare | Cod sursa (job #890893) | Cod sursa (job #649934)
Cod sursa(job #649934)
#include <fstream>
#include <vector>
#define INFILE "combinari.in"
#define OUTFILE "combinari.out"
using namespace std;
ifstream fin(INFILE);
ofstream fout(OUTFILE);
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;
}
for(int i = v.size() + 1; i<=n; ++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, n, k);
v.pop_back();
}
}
}
int main()
{
int n,k;
fin >> n >> k;
vector<int> v;
back(v, n, k);
fin.close();
fout.close();
return 0;
}