Pagini recente » Cod sursa (job #2304002) | Cod sursa (job #1683322) | Cod sursa (job #2271262) | Cod sursa (job #1913892) | 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;
}