Pagini recente » Cod sursa (job #1024524) | Cod sursa (job #1435831) | Cod sursa (job #2435730) | Cod sursa (job #1557552) | Cod sursa (job #1415938)
#include<stdio.h>
#include<stdlib.h>
int n,m, *v;
FILE *g = fopen("combinari.out", "w");
void citire()
{
FILE *f = fopen("combinari.in", "r");
fscanf(f, "%d%d", &m, &n);
v = (int*)calloc(n,sizeof(int));
//for (int i = 0; i < n; i++)
//fscanf(f,"%d",&v[i]);
}
void afisare()
{
for (int i = 0; i < n; i++)
fprintf(g,"%d ", v[i]);
fprintf(g,"\n");
}
int valid(int k)
{
for (int i = 0; i < k;i++)
if (v[i] > v[k] || v[i]==v[k])
return 0;
return 1;
}
void BT(int k)
{
if (k == n)
afisare();
else
for (int i = 1; i <= m; i++)
{
v[k] = i;
if (valid(k))
{
k++;
BT(k);
k--;
}
}
}
int main()
{
citire();
if (n == 0 && m == 0)
fprintf(g, "1");
else
BT(0);
return 0;
}