Pagini recente » Cod sursa (job #3226495) | Cod sursa (job #1948265) | Cod sursa (job #814727) | Cod sursa (job #1799845) | Cod sursa (job #2899706)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("planeta.in");
ofstream o("planeta.out");
long long int u[35];
void bkt(int l, int r, long long int k)
{
int i = l;
for (i = l; i <= r && u[i-l] * u[r-i] <= k; ++i) {
--i;
k -= u[i-l] * u[r - i];
++i;
}
o<<i<<" ";
if (l < i)
bkt(l, i - 1, k / u[r - i]);
if (r > i)
bkt(i + 1, r, k % u[r - i]);
}
int main()
{
int n;
long long int k;
f>>n>>k;
u[0] = 1;
--k;
for (int i = 1; i <= n; ++i)
u[i] = 2 * (2 * i - 1) * u[i - 1] / (i + 1);
bkt(1, n, k);
return 0;
}