Pagini recente » Cod sursa (job #2289742) | Cod sursa (job #1836844) | Cod sursa (job #637631) | Cod sursa (job #841668) | Cod sursa (job #2899360)
#include<fstream>
using namespace std;
ifstream fin("planeta.in");
ofstream fout("planeta.out");
int i, n, j;
long long k, v[100];
void rez(int n, long long k, int ok)
{
int nod = 1;
while (v[nod - 1] * v[n - nod] <= k)
{
k = k - v[nod - 1] * v[n - nod];
nod++;
}
fout << nod + ok << " ";
if (nod > 1)
rez(nod - 1, k / v[n - nod], ok);
if (nod < n)
rez(n - nod, k % v[n - nod], ok + nod);
}
int main()
{
fin >> n >> k;
v[0] = 1;
for (i = 1; i <= n; ++i)
for (j = 1; j <= i; ++j)
{
v[i] += v[i - j] * v[j - 1];
}
--k;
rez(1, k, 0);
return 0;
}