Pagini recente » Cod sursa (job #366584) | Cod sursa (job #754148) | Cod sursa (job #2011419) | Cod sursa (job #847825) | Cod sursa (job #2021401)
#include <iostream>
#include<fstream>
using namespace std;
ifstream si("planeta.in");
ofstream so("planeta.out");
long long v[100];
void backt(int l,int r,long long k)
{
int i=l;
for(;v[i-l]*v[r-i]<=k&&i<=r;i++)
k-=v[i-l]*v[r-i];
so<<i<<' ';
if(l<i)
backt(l,i-1,k/v[r-i]);
if(i<r)
backt(i+1,r,k%v[r-i]);
}
int main()
{
int n;
long long x;
si>>n>>x;
int i,j;
v[0]=1;
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
v[i]=v[i]+v[i-j]*v[j-1];
backt(1,n,--x);
return 0;
}