Pagini recente » Cod sursa (job #2791775) | Cod sursa (job #2663643) | Cod sursa (job #1393196) | Cod sursa (job #1440797) | Cod sursa (job #3130627)
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
short n, k;
const short NMAX = 20;
short current[NMAX+5];
bool valid(const short &i)
{
for (short j = 1; j < i; j++)
if (current[j] >= current[i])
return false;
return true;
}
void backtracking(const short &x)
{
if (x == k+1) {
for (short i = 1; i <= k; i++) fout<<current[i]<<' ';
fout<<'\n';
}
else
for (current[x] = 1; current[x] <= n; current[x]++)
if (valid(x)) backtracking(x+1);
}
int main()
{
fin>>n>>k;
backtracking(1);
return 0;
}