Pagini recente » Cod sursa (job #2252981) | Cod sursa (job #826214) | Cod sursa (job #1812910) | Cod sursa (job #345408) | Cod sursa (job #3135502)
#include <iostream>
#include <fstream>
using namespace std;
long long v[30];
ifstream fin("planeta.in");
ofstream fout("planeta.out");
void parcurgere(int n, int start, long long k){
if(n == 0)
return;
if(n == 1){
fout<<start + 1<<" ";
return;
}
for(int i = 1; i <= n; i++)
if(v[i-1]*v[n-i] < k)
k-= v[i-1]*v[n-i];
else{
fout<<start+i<<" ";
parcurgere(i-1, start,(k-1)/v[n-i] + 1 );
parcurgere(n-i, start+i, (k-1)%v[n-i] + 1);
return;
}
}
int main()
{
long long k;
int n;
//ifstream fin("nr.txt");
fin>>n>>k;
v[0] = 1;
for(int i = 1; i <= n; i++)
for(int j = 1; j <= i; j++)
v[i] += v[i-j]*v[j-1];
parcurgere(n, 0, k);
fin.close();
fout.close();
return 0;
}