Cod sursa(job #2899360)

Utilizator AntoniaPopoviciAntonia-Adelina Popovici AntoniaPopovici Data 8 mai 2022 16:32:52
Problema Planeta Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<fstream>
using namespace std;

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

int i, n, j;

long long k, v[100];

void rez(int n, long long k, int ok)
{
    int nod = 1;
    while (v[nod - 1] * v[n - nod] <= k)
    {
        k = k - v[nod - 1] * v[n - nod];
        nod++;
    }
    fout << nod + ok << " ";
    if (nod > 1)
        rez(nod - 1, k / v[n - nod], ok);
    if (nod < n)
        rez(n - nod, k % v[n - nod], ok + nod);
}


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