Pagini recente » Cod sursa (job #1876699) | Cod sursa (job #3041375) | Cod sursa (job #2024442) | Cod sursa (job #912268) | Cod sursa (job #1289344)
#include <fstream>
const int NMAX = 20;
using namespace std;
ifstream f("combinari.in");
ofstream g("combinari.out");
int N,K,sol[NMAX];
bool used[NMAX];
void afisare()
{
for (int i = 1; i <= K; ++i)
{
g << sol[i] << " ";
}
g << '\n';
}
void backtrack(int k)
{
if (k == K+1)
{
afisare();
return;
}
for (int i = sol[k-1]+1; i <= N; ++i)
{
if (!used[i])
{
sol[k] = i;
used[i] = true;
backtrack(k+1);
used[i] = false;
}
}
}
int main()
{
f >> N >> K;
backtrack(1);
f.close();
g.close();
return 0;
}