Cod sursa(job #3135502)

Utilizator Cipy34Harnagea Ciprian Cipy34 Data 3 iunie 2023 15:00:23
Problema Planeta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <fstream>
using namespace std;
long long v[30];
ifstream fin("planeta.in");
ofstream fout("planeta.out");
void parcurgere(int n, int start, long long k){
    if(n == 0)
        return;
    if(n == 1){
        fout<<start + 1<<" ";
        return;
    }

    for(int i = 1; i <= n; i++)
        if(v[i-1]*v[n-i] < k)
            k-= v[i-1]*v[n-i];
        else{
            fout<<start+i<<" ";
            parcurgere(i-1, start,(k-1)/v[n-i] + 1 );
            parcurgere(n-i, start+i, (k-1)%v[n-i] + 1);
            return;
        }

}
int main()
{
    long long k;
    int n;
    //ifstream fin("nr.txt");


    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];


    parcurgere(n, 0, k);

    fin.close();
    fout.close();
    return 0;
}