Pagini recente » Cod sursa (job #224567) | Cod sursa (job #388488) | Cod sursa (job #370070) | Cod sursa (job #1273965) | Cod sursa (job #1234727)
#include <fstream>
using namespace std;
ifstream fin ("planeta.in");
ofstream fout ("planeta.out");
long long d[35],k;
int i,j,n;
void rec (long long nr,int st, int dr) {
if (st>=dr) {
if (st==dr)
fout<<st<<" ";
return;
}
int i;
for (i=st;d[i-st]*d[dr-i]<nr&&i<=dr;i++)
nr-=d[i-st]*d[dr-i];
fout<<i<<" ";
nr--;
rec(nr/d[dr-i]+1,st,i-1);
rec(nr%d[dr-i]+1,i+1,dr);
}
int main () {
fin>>n>>k;
d[0]=d[1]=1;
for (i=2;i<=n;i++)
for (j=1;j<=i;j++)
d[i]+=d[j-1]*d[i-j];
rec(k,1,n);
return 0;
}