Cod sursa(job #2899707)

Utilizator DariaClemClem Daria DariaClem Data 9 mai 2022 00:46:30
Problema Planeta Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("planeta.in");
ofstream fout("planeta.out");


void generare(int val[], int stanga, int dreapta, int aux) {
    int radacina = stanga;
    while (radacina < dreapta && (aux - (val[radacina - stanga] * val[dreapta - radacina])) >= 0) {
        aux = aux - val[radacina - stanga] * val[dreapta - radacina];
        radacina++;
    }
    fout << radacina << " ";
    if (radacina > stanga) {
        generare(val, stanga, radacina - 1, aux / val[dreapta - radacina]);
    }
    if (radacina < dreapta) {
        generare(val, radacina + 1, dreapta, aux % val[dreapta - radacina]);
    }
}

int main() {
    int n, k, index1, index2, val[65];
    fin >> n >> k;
    for (index1 = 1; index1 <= n; index1 += 1) {
        for (index2 = 1; index2 <= index1; index2 += 1) {
            val[index1] = val[index1] + val[index1 - index2] * val[index2 - 1];
        }
    }
    generare(val, 0, n, k - 1);
    return 0;
}