Pagini recente » Cod sursa (job #2444211) | Cod sursa (job #750893) | Cod sursa (job #2029161) | Cod sursa (job #2230076) | Cod sursa (job #2899678)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("planeta.in");
ofstream o("planeta.out");
long long int u[31];
void bkt(int l, int r, long long k)
{
int i;
for (i = l; i <= r && u[i-1] * u[r-i] <= k; ++i) {
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 k;
f>>n>>k;
u[0] = 1;
for (int i = 1; i <= n; i++)
u[i] = 2 * (2 * i - 1) * u[i - 1] / (i + 1);
bkt(1, n, k-1);
return 0;
}