Pagini recente » Cod sursa (job #1802637) | Cod sursa (job #3225433) | Cod sursa (job #2200094) | Cod sursa (job #1127882) | Cod sursa (job #625488)
Cod sursa(job #625488)
#include<cstdio>
typedef long long i64;
i64 a[35],b[35];
void fct(i64 x,i64 y,i64 k)
{
if (x>y)
return;
if (x==y)
{
printf("%d ",x);
return;
}
i64 p=0,i;
for(i=x;i<=y;++i)
if((p+=b[i-x]*b[y-i])>=k)
{
p-=b[i-x]*b[y-i];
break;
}
printf("%d ",i);
fct(x,i-1,(k-p-1)/b[y-i]+1);
fct(i+1,y,(k-p-1)%b[y-i]+1);
}
int main()
{
int n,i,j,k;
freopen("planeta.in","r",stdin);
freopen("planeta.out","w",stdout);
scanf("%lld%lld",&n,&k);
b[0]=1;
for(i=1;i<=n;++i)
for(j=0;j<i;++j)
b[i]+=b[j]*b[i-j-1];
fct(1,n,k);
printf("\n");
return 0;
}