Pagini recente » Cod sursa (job #1399209) | Cod sursa (job #2990343) | Cod sursa (job #3135635)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("planeta.in");
ofstream fout("planeta.out");
long long n, v[31], i, j;
void radacina(long long st, long long dr, long long k){
long long s=0;
for (i=st; i<dr; i++){
if(s + v[i-st] * v[dr-i] >= k)
break;
else
s+= v[i-st] * v[dr-i];
}
fout << i << " ";
if (st<=i-1) radacina(st, i-1, (k-s-1) / v[dr-i] + 1);
if (i+1<=dr) radacina(i+1, dr, (k-s-1) % v[dr-i] + 1);}
int main()
{
long long k;
fin >> n >> k;
v[0]=1;
for (i=1;i<=n;i++)
for (j=1;j<=i;j++)
v[i]+= v[j-1] * v[i-j];
radacina(1, n, k);
return 0;
}