Cod sursa(job #2899532)

Utilizator VladTalpigaVlad Talpiga VladTalpiga Data 8 mai 2022 22:07:04
Problema Planeta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("planeta.in");
ofstream g("planeta.out");

int n, i, j;
long long k, v[105];

void res(int a, int b, long long k, long long v[]){

    int i;

    for(i = a; v[i - a] * v[b - i] <= k && i <= b; ++i)

        k = k - v[i - a] * v[b - i];

    g << i << " ";

    if(a < i)
        res(a, i - 1, k / v[b - i], v);

    if(i < b)
        res(i + 1, b, k % v[b - i], v);
}

int main()
{
    f >> n >> k;

    v[0] = 1;

    for(i = 1; i <= n; ++i)
        for(j = 1; j <= i; ++j)
            v[i] = v[i] + v[i - j] * v[j - 1];

    k--;
    res(1, n, k, v);

    f.close();
    g.close();

    return 0;
}