Pagini recente » Cod sursa (job #1216882) | Cod sursa (job #889617) | Cod sursa (job #2980960) | Cod sursa (job #1122578) | Cod sursa (job #1637720)
#include <fstream>
using namespace std;
ifstream f("planeta.in");
ofstream g("planeta.out");
long long k,n,d[31],i,j;
int Root(int st,int dr,long long k){
long long i,s=0;
for (i=st;i<dr;i++){
if(s+d[i-st]*d[dr-i]>=k)
break;
else
s+=d[i-st]*d[dr-i];
}
g<<i<<" ";
if (st<=i-1) Root(st,i-1,(k-s-1)/d[dr-i]+1);
if (i+1<=dr) Root(i+1,dr,(k-s-1)%d[dr-i]+1);}
int main()
{
f>>n>>k;
d[0]=1;
for (i=1;i<=n;i++)
for (j=1;j<=i;j++)
d[i]+=d[j-1]*d[i-j];
Root(1,n,k);
return 0;
}