Pagini recente » Cod sursa (job #1828083) | Cod sursa (job #1184708) | Cod sursa (job #1301062) | Cod sursa (job #19225) | Cod sursa (job #1243455)
//horatiu11
# include <cstdio>
using namespace std;
int n;
long long k,D[36]={1};
void f(long long k, int a, int n)
{
int i=n-a+1,j=1;long long s=k;
if(n<a)return;
while(D[i-j]*D[j-1]<k && j<=i)
k-=D[j-1]*D[i-j],++j;
printf("%d ",a+j-1);
f((k-1)/D[i-j]+1,a,a+j-2);
f((k-1)%D[i-j]+1,a+j,n);
}
int main()
{
freopen("planeta.in","r",stdin);
freopen("planeta.out","w",stdout);
scanf("%d%lld",&n,&k);
for(int i=1;i<=n;++i)
for(int j=1;j<=i;++j)
D[i]+=D[i-j]*D[j-1];
f(k,1,n);
printf("\n");
}