Cod sursa(job #1637708)

Utilizator cristibogdanPatrascu Cristian cristibogdan Data 7 martie 2016 18:51:35
Problema Planeta Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#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;
}