Pagini recente » Cod sursa (job #3276164) | Cod sursa (job #1002475)
#include <cstdio>
#include <iostream>
#include <time.h>
using namespace std;
int n = 12;
int m = 22;
int x[30];
void _GenComb1(int );
void _GenComb2(int );
void _GenComb3(int );
void _Afisare();
int main()
{
///double ti, tf;
///ti=clock();
freopen("combinari.in", "rt", stdin);
freopen("combinari.out", "wt", stdout);
scanf("%d%d", &m, &n);
///_GenComb1(1);
///_GenComb2(1);
_GenComb3(1);
///tf=clock();
///printf ("\n\n%.4lf\n\n", (tf-ti)/CLK_TCK);
return 0;
}
void Afisare()
{
for (int i = 1; i <= n; i++)
{
printf("%d ", x[i]);
}
printf("\n\n");
}
void _GenComb1(int k)
{
int i;
for (i = x[k-1]+1; i <= m-n+k; i++)
{
if (k > 1)
{
if (i <= x[k-1]) continue;
}
x[k] = i;
if (k == n) Afisare();
if (k < n) _GenComb1(k+1);
}
}
void _GenComb2(int k)
{
int i;
for (i = x[k-1]+1; i <= m-n+k; i++)
{
x[k] = i;
if (k < n) _GenComb2(k+1);
else {
Afisare();
}
}
}
void _GenComb3(int k)
{
if (k > n)
{
Afisare();
}
else
for (int i = x[k-1]+1; i <= m-n+k; i++)
{
x[k] = i;
_GenComb3(k+1);
}
}