Pagini recente » Cod sursa (job #1084924) | Cod sursa (job #1785541) | Cod sursa (job #15952) | Cod sursa (job #590181) | Cod sursa (job #726225)
Cod sursa(job #726225)
# include <iostream>
# include <fstream>
# define Nmax 18
# define Egal(a,b) ((a)==(b)?true:false)
using namespace std;
ifstream f ("combinari.in");
ofstream g ("combinari.out");
int n,k;
int st[Nmax];
void citire();
bool valid (int m);
void afisare();
void bktr (int niv);
void citire ()
{
f >> n >> k;
f.close ();
}
bool valid (int m)
{
for(int j=1; j<m; j++)
{
if (st[j] >= st[m])
return false;
}
return true;
}
void afisare ()
{
for(int j=1; j<=k; j++)
{
g << st[j] << ' ';
}
g << '\n';
}
void bktr (int niv)
{
for(int i=1; i<=n; i++)
{
st[niv] = i;
if (valid(niv))
{
if (Egal(niv,k))
afisare ();
else
bktr(niv+1);
}
}
}
int main ()
{
citire ();
bktr(1);
g.close();
return 0;
}