Cod sursa(job #2899303)

Utilizator ScoveargaIlie Andrei-Virgil Scovearga Data 8 mai 2022 14:47:52
Problema Planeta Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#include <iostream>
using namespace std;

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

void rezolvare(int a, long long 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)
        rezolvare(a, i - 1, K / V[b - i], V);
    if(i < b)
        rezolvare(i + 1, b, K % V[b - i], V);
}

int main()
{
    long long N, K, V[101];
    f>>N>>K;
    V[0] = 1;
    for(int i = 1; i <= N; ++i)
        for(int j = 1; j <= i; ++j)
            V[i] = V[i] + V[i - j] * V[j - 1];
    --K;
    rezolvare(1, N, K, V);
    f.close();
    g.close();
    return 0;
}