Pagini recente » Cod sursa (job #902039) | Cod sursa (job #2515872) | Istoria paginii runda/still-rockin/clasament | Cod sursa (job #3121012) | Cod sursa (job #2899587)
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("planeta.in");
ofstream fout("planeta.out");
int n, i, j;
long long k, v[105];
void res(int a, int b, long long k, long long v[]){
int i;
for(i = a; v[i - a] * v[b - i] <= k && i <= b; ++i)
k = k - v[i - a] * v[b - i];
fout << i << " ";
if(i < b)
res(i + 1, b, k % v[b - i], v);
if(a < i)
res(a, i - 1, k / v[b - i], v);
}
int main()
{
fin >> n >> k;
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];
k--;
res(1, n, k, v);
return 0;
}