Pagini recente » Diferente pentru implica-te/arhiva-educationala intre reviziile 149 si 150 | Cod sursa (job #1433836) | Cod sursa (job #824582) | Cod sursa (job #12012) | Cod sursa (job #664467)
Cod sursa(job #664467)
#include<cstdio>
using namespace std;
int n,a[1000],sol[1000],i,l;
bool pus[1000];
void afis(int k)
{
int i;
for (i=1;i<=k;i++)
printf("%d ",sol[i]);
printf("\n");
}
bool cresc(int k)
{
bool ok;
ok=true;
for (i=1;i<k;i++)
{
if (sol[i]>sol[i+1]) ok=false;
}
return ok;
}
void back(int k)
{
int i;
for (i=1;i<=n;i++)
if (!pus[i]) { sol[k]=i;
pus[i]=true;
if ((k==l) && cresc(k)) afis(k);
back(k+1);
pus[i]=false;
}
}
int main()
{
freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%d%d",&n,&l);
back(1);
return 0;
}