Pagini recente » Cod sursa (job #1460586) | Cod sursa (job #1216573) | Cod sursa (job #3214301) | Cod sursa (job #234643) | Cod sursa (job #1582988)
#include<fstream>
#define NMAX 19
using namespace std;
FILE*in;
ofstream out("combinari.out");
int n;
int p;
int SOL[NMAX];
void read()
{
in=fopen("combinari.in", "r");
fscanf(in, "%d%d", &n, &p);
}
void initializ(int k)
{
SOL[k]=0;
}
bool exist(int k)
{
if (SOL[k] < n)
return true;
return false;
}
bool condition(int k)
{
if (SOL[k-1] >= SOL[k])
return false;
return true;
}
bool solution(int k)
{
if (k == p)
return true;
return false;
}
void show()
{
for (int i=1; i<=p; i++)
out<<SOL[i]<<" ";
out<<'\n';
}
void BKT(int K)
{
while (K > 0)
{
if (exist(K))
{
SOL[K]++;
if (condition(K))
{
if (solution(K))
show();
else
{
K++;
initializ(K);
}
}
}
else
K--;
}
}
int main()
{
read();
BKT(1);
return 0;
}