Pagini recente » Cod sursa (job #1632301) | Cod sursa (job #881703) | Cod sursa (job #505405) | Cod sursa (job #3158710) | Cod sursa (job #1491786)
#include<stdio.h>
using namespace std;
int x[20], uz[20], n, k;
void verif()
{
int i, sw = 1;
for(i = 1; i < k && sw; i++)
if(x[i] > x[i + 1])
sw = 0;
if(sw)
{
for(i = 1; i <= k; i++)
printf("%d ",x[i]);
printf("\n");
}
}
void backt(int p)
{
int i;
if(p > k)
verif();
else
{
for(i = 1; i <= n; i++)
if(uz[i] != 1)
{
x[p] = i;
uz[i] = 1;
backt(p + 1);
uz[i] = 0;
}
}
}
int main()
{
freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%d %d", &n, &k);
backt(1);
fclose(stdin);
fclose(stdout);
return 0;
}