Cod sursa(job #2749799)

Utilizator HadircaDionisieHadirca Dionisie HadircaDionisie Data 8 mai 2021 11:45:09
Problema Planeta Scor 100
Compilator py Status done
Runda Arhiva de probleme Marime 0.64 kb
import sys
sys.setrecursionlimit(5000)

with open('planeta.in') as f:
    n, k = [int(i) for i in f.readline().split()]

rez = []


def bkt(l, r, k):
    global xs, rez
    i = l
    while xs[i - l] * xs[r - i] <= k and i <= r:
        k -= xs[i - l] * xs[r - i]
        i += 1
    rez.append(i)
    if l < i:
        bkt(l, i - 1, k / xs[r - i])
    if i < r:
        bkt(i + 1, r, k % xs[r - i])


xs = [0] * 100
xs[0] = 1

for i in range(1, n + 1):
    for j in range(1, i + 1):
        xs[i] += xs[i - j] * xs[j - 1]


bkt(1, n, k-1)
with open('planeta.out','w') as g:
    for i in rez:
        g.write(str(i)+' ');