Pagini recente » Cod sursa (job #2694520) | Cod sursa (job #1524015) | Cod sursa (job #803982) | Cod sursa (job #2655771) | Cod sursa (job #1637708)
#include <fstream>
using namespace std;
ifstream f("planeta.in");
ofstream g("planeta.out");
int n,d[31],i,j;
long long k;
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;
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;
}