Pagini recente » Cod sursa (job #223577) | Cod sursa (job #2437466) | Cod sursa (job #2180136) | Cod sursa (job #1806226) | Cod sursa (job #2831664)
#include <fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
bool verif(int nivel, int sol[])
{
for (int i = 1; i < nivel; i++)
if (sol[nivel] == sol[i])
return false;
return true;
}
void afisare(int k, int sol[])
{
for (int i = 1; i <= k; i++)
fout << sol[i] << ' ';
fout << '\n';
}
void f(int nivel, int n, int k, int sol[])
{
for (int i = sol[nivel-1]; i <= n; i++)
{
sol[nivel] = i;
if (verif(nivel, sol))
if (nivel == k)
afisare(k, sol);
else
f(nivel+1, n, k, sol);
}
}
int main()
{
int n, k;
fin >> n >> k;
int sol[k+1];
sol[0] = 1;
f(1, n, k, sol);
return 0;
}