Cod sursa(job #3135632)

Utilizator Sumurduc_TeodoraSumurduc Teodora Sumurduc_Teodora Data 3 iunie 2023 21:09:02
Problema Planeta Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>
using namespace std;
long long a[31];
ifstream f("planeta.in");
ofstream g("planeta.out");
void rezolvare(int x,int n,long long k,long long a[]){
    int i=x;
    while(a[i-x]*a[n-i]<=k and i<=n){
        k=k-a[i-x]*a[n-i];
        i++;
    }
    g<<i<<" ";
    if(x<i)
        rezolvare(x,i-1,k/a[n-i],a);
    if(i<n)
        rezolvare(i+1,n,k%a[n-i],a);
}
int main() {
    int n;
    long long k;
    f>>n>>k;
    a[0]=1;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=i;j++)
            a[i]+=a[i-j]*a[j-1];
    for(int i=0;i<=n;i++)
        cout<<a[i]<<" ";
    k--;
    rezolvare(1,n,k,a);
    f.close();
    g.close();
    return 0;
}