Cod sursa(job #2755670)

Utilizator iustin.pericicaPericica Iustin iustin.pericica Data 27 mai 2021 22:28:59
Problema Planeta Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <iostream>
#include<fstream>

using namespace std;

ifstream fin("planeta.in");
ofstream fout("planeta.out");




int lista[100];

void func(int stanga,int dreapta, long long x)
{
    int i=stanga;
    while((i+1)<=dreapta && lista[(i+1)-stanga] * lista[dreapta-(i+1)]<=x){
        i++;
    }

    fout<<i<<" ";
    x = x - lista[i-stanga] * lista[dreapta-i];
    if(stanga<i){
        func(stanga, i-1, x / lista[dreapta-i]);
    }
    if(i<dreapta){
        func(i+1, dreapta, x % lista[dreapta-i]);
    }

}


int main()
{
    long long n, m;
    lista[0] = 1;
    fin>>n>>m;

    for(int i=1;i<=n;++i)
        for(int j=1;j<=i;++j)
    {
        lista[i]= lista[i] + lista[i-j]*lista[j-1];
    }
    m = m-1;
    func(1,n,m);
}