Pagini recente » Cod sursa (job #2968792) | Cod sursa (job #2716631) | Cod sursa (job #1705967) | Cod sursa (job #229997) | Cod sursa (job #2897731)
#include <bits/stdc++.h>
using namespace std;
ifstream f("planeta.in");
ofstream g("planeta.out");
long long v[32], k;
void rezolvare(int st, int dr, long long k)
{
int i;
for(i=st; v[i-st]*v[dr-i]<=k and i<=dr; i++)
{
k=k-v[i-st]*v[dr-i];
}
g<<i<<" ";
if(i>st)
{
rezolvare(st, i-1, k/v[dr-i]);
}
if(i<dr)
{
rezolvare(i+1, dr, k%v[dr-i]);
}
}
int main()
{
int n;
f>>n>>k;
v[0]=v[1]=1;
for(int i=2; i<=n; i++)
{
for(int j=0; j<i; j++)
{
v[i]+=v[j]*v[i-j-1];
}
}
rezolvare(1, n, --k);
}