Pagini recente » Cod sursa (job #1889189) | Cod sursa (job #2222995) | Cod sursa (job #196258) | Istoria paginii runda/pascaliada | Cod sursa (job #2104550)
#include <stdio.h>
#include <stdlib.h>
long long d[31],k;
int n;
void ans(int st,int dr,long long coef)
{
int pos;
long long z=0;
pos=st-1;
while(k-z>0)
{
pos++;
k-=z;
z=d[pos-st]*d[dr-pos]*coef;
}
printf("%d ",pos);
if(pos>st)
ans(st,pos-1,coef*d[dr-pos]);
if(pos<dr)
ans(pos+1,dr,coef);
}
int main()
{
int i,j;
freopen("planeta.in","r",stdin);
freopen("planeta.out","w",stdout);
scanf("%d%lld",&n,&k);
d[1]=d[0]=1;
d[2]=2;
for(i=3; i<=n; i++)
for(j=1; j<=i; j++)
d[i]+=(d[j-1]*d[i-j]);
ans(1,n,1);
return 0;
}