Pagini recente » Cod sursa (job #551173) | Cod sursa (job #1830821) | Cod sursa (job #2914858) | Cod sursa (job #2928795) | Cod sursa (job #2749800)
import sys
sys.setrecursionlimit(5000)
with open('planeta.in') as f:
n, k = [int(i) for i in f.readline().split()]
rez = []
def solve(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:
solve(l, i - 1, k / xs[r - i])
if i < r:
solve(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]
solve(1, n, k-1)
with open('planeta.out','w') as g:
for i in rez:
g.write(str(i)+' ');