Cod sursa(job #3132332)

Utilizator corinarobuRobu Corina corinarobu Data 22 mai 2023 11:14:11
Problema Planeta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("planeta.in");
ofstream g("planeta.out");
long long d[35];
int a[40],poz;
void fc(int n,long long k,int m){
    if(n==0)
        return;
    int crt=1;
    while(k>=d[crt-1]*d[n-crt]){
        k-=d[crt-1]*d[n-crt];
        crt++;
    }
    a[++poz]=crt+m;
    fc(crt-1,k/d[n-crt],m);
    fc(n-crt,k%d[n-crt],m+crt);
}
int main()
{

    long long n,k;
    f >> n >> k;
    d[0]=1;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=i;j++){
            d[i]+=d[j-1]*d[i-j];
        }
    }
    k--;
    fc(n,k,0);
    for(int i=1;i<=n;i++)
        g<<a[i]<<" ";
    return 0;
}