Pagini recente » Cod sursa (job #1117385) | Cod sursa (job #2533474) | Cod sursa (job #807485) | Cod sursa (job #3249316) | Cod sursa (job #2875118)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
void afisare(vector <int> & sol)
{
for (auto i:sol)
fout << i << ' ';
fout << '\n';
}
bool ok(vector <int> &sol, int r)
{
bool verif = 1;
for (int i = 0; i < r; i++)
if (sol[i] >= sol[r])
verif = 0;
return verif;
}
void backu(vector <int> & sol, int r, int k, int n)
{
for (int i = 1; i <= n; i++)
{
sol[r] = i;
if (ok(sol, r))
{
if (r == k-1)
afisare(sol);
else
backu(sol, r+1, k, n);
}
}
}
int n, k;
int main()
{
fin >> n >> k;
vector <int> sol;
sol.assign(k, 0);
backu(sol, 0, k, n);
return 0;
}