Cod sursa(job #248245)
Utilizator | Data | 25 ianuarie 2009 11:57:09 | |
---|---|---|---|
Problema | Combinari | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.62 kb |
#include<stdio.h>
int n,a[20],x;
int check (int k,int y)
{
if(k==1 && y==0)
return 0;
if(a[k-1]>=y)
return 0;
if(y>x)
return 0;
return 1;
}
int back (int k)
{
int i;
if(k==n+1)
{
for(i=1;i<=n;++i)
printf("%d ",a[i]);
printf("\n");
}
else
{
for(i=0;i<=9;++i)
if(check(k,i)==1)
{
a[k]=i;
back(k+1);
}
}
}
int main ()
{
freopen("combinari.in","r",stdin);
freopen("combinari.out","w",stdout);
scanf("%d%d",&x,&n);
back(1);
return 0;
}