Pagini recente » Cod sursa (job #2478767) | Cod sursa (job #1965951) | Cod sursa (job #1308703) | Cod sursa (job #1182315) | Cod sursa (job #3135646)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("planeta.in");
ofstream fout("planeta.out");
int n, i, j;
long long k, v[100];
void radacina(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(a < i)
radacina(a, i-1, k / v[b-i], v);
if(i < b)
radacina(i+1, b, 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--;
radacina(1, n, k, v);
return 0;
}