Pagini recente » Cod sursa (job #2533134) | Cod sursa (job #3284765) | Cod sursa (job #694487) | Cod sursa (job #1775394) | Cod sursa (job #3135946)
#include <iostream>
#include<fstream>
using namespace std;
ifstream r("planeta.in");
ofstream w("planeta.out");
int n;
long long sol[32],x;
void construire(int n, int s, long long x)
{
if (n == 0)
return;
int nod= 1;
for (;sol[nod - 1] * sol[n -nod] <= x; nod++)
x =x- sol[nod - 1] * sol[n - nod];
w<<nod<<" ";
if(s<nod)
construire(nod-1,n,x/sol[s-nod]);
if(nod<n)
construire(n,nod+1,x%sol[s-nod]);}
int main()
{
r>>n>>x;
int i,j;
sol[0]=1;
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
sol[i]=sol[i]+sol[i-j]*sol[j-1];
construire(n,1,--x);
return 0;
}