Pagini recente » Cod sursa (job #1621544) | Cod sursa (job #1214009) | Cod sursa (job #132741) | Cod sursa (job #921888) | Cod sursa (job #2899532)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("planeta.in");
ofstream g("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];
g << i << " ";
if(a < i)
res(a, i - 1, k / v[b - i], v);
if(i < b)
res(i + 1, b, k % v[b - i], v);
}
int main()
{
f >> 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);
f.close();
g.close();
return 0;
}