Cod sursa(job #2897298)

Utilizator AndreiBerbecaruBerbecaru-Iovan Andrei AndreiBerbecaru Data 3 mai 2022 12:58:17
Problema Planeta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<fstream>
using namespace std;

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

long long n, v[31], k;

void sol(long long st, long long dr, long long k){
    long long i=st;
    while(v[i-st]*v[dr-i]<=k && i<=dr){
        k-=v[i-st]*v[dr-i];
        i++;
    }
    fout<<i<<" ";

    if(st<i)
        sol(st, i-1, k/v[dr-i]);

    if(dr>i)
        sol(i+1, dr, k%v[dr-i]);

}

int main(){

    fin>>n>>k;
    v[0]=1;
    for(int i=1; i<=n; i++){
        for(int j=1; j<=i; j++)
            v[i]+=v[i-j]*v[j-1];
    }
    k--;

    sol(1, n, k);
}