Pagini recente » Istoria paginii utilizator/rynyos | Istoria paginii utilizator/toadermihai | Cod sursa (job #1244964) | Cod sursa (job #238900) | Cod sursa (job #1499864)
#include <cstdio>
using namespace std;
int n,p,x[20];
int bun(int k)
{
int i,j;
for(i=1;i<k;i++)
if(x[i]>x[i+1])return 0;
for(i=1;i<k;i++)
for(j=i+1;j<=k;j++)
if(x[j]==x[i])return 0;
return 1;
}
void back(int k)
{
int i;
if(k>p)
{
for(i=1;i<=p;i++)
printf("%d ",x[i]);
printf("\n");
return;
}
else
{
for(i=1;i<=n;i++)
{
x[k]=i;
if(bun(k))back(k+1);
}
}
}
int main()
{
freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%d%d",&n,&p);
back(1);
return 0;
}