PythonでJOI難易度5を埋める #20

poster - JOIポスター (JOI Poster)

考えたこと
再帰関数で殴る!!!!.初めて再帰関数を書いたので雑な部分は許して.

n, k = map(int, input().split())

def solve(n, k):
    if k <= 2 ** (n - 1):
        return 'J' * (2 ** (n - 1)) + 'O' * (2 ** (n - 1))
    elif n == 1:
        return 'IJ'
    else:
        return 'I' * (2 ** (n - 1)) + solve(n - 1, k - 2 ** (n - 1))

print(solve(n, k))

再帰関数の説明