Cod sursa(job #3135635)

Utilizator raluca_rRadu Raluca raluca_r Data 3 iunie 2023 21:16:39
Problema Planeta Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>

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

long long n, v[31], i, j;

void radacina(long long st, long long dr, long long k){
    long long s=0;
    for (i=st; i<dr; i++){
        if(s + v[i-st] * v[dr-i] >= k)
            break;
        else
            s+= v[i-st] * v[dr-i];
    }
    fout << i << " ";
    if (st<=i-1) radacina(st, i-1, (k-s-1) / v[dr-i] + 1);
    if (i+1<=dr) radacina(i+1, dr, (k-s-1) % v[dr-i] + 1);}
int main()
{
    long long k;
    fin >> n >> k;
    v[0]=1;
    for (i=1;i<=n;i++)
        for (j=1;j<=i;j++)
            v[i]+= v[j-1] * v[i-j];
    radacina(1, n, k);

    return 0;
}