Pagini recente » Cod sursa (job #161668) | Cod sursa (job #93318) | Cod sursa (job #2361589) | Cod sursa (job #434969) | Cod sursa (job #2899740)
#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;
while (i <= r && u[i-l] * u[r-i] <= k) {
k -= u[i-l] * u[r - 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;
}