結果

問題 No.2868 Another String of yuusaan
ユーザー gew1fw
提出日時 2025-06-12 19:51:46
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 1,757 bytes
コンパイル時間 332 ms
コンパイル使用メモリ 82,464 KB
実行使用メモリ 84,432 KB
最終ジャッジ日時 2025-06-12 19:52:22
合計ジャッジ時間 3,971 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other TLE * 1 -- * 17
権限があれば一括ダウンロードができます

ソースコード

diff #

def max_power_7_le_k(K):
    if K < 1:
        return -1
    low = 0
    high = 1
    while 7 ** high <= K:
        high *= 2
    while low <= high:
        mid = (low + high) // 2
        try:
            val = 7 ** mid
        except OverflowError:
            val = float('inf')
        if val == K:
            return mid
        elif val < K:
            low = mid + 1
        else:
            high = mid - 1
    return high

def find_char(N, K):
    current_level = N
    current_K = K
    while True:
        for c in ['y', 'u', 'u', 's', 'a', 'a', 'n']:
            if c in ('u', 'a'):
                m = max_power_7_le_k(current_K)
                if m >= current_level - 1:
                    len_c = 7 ** (current_level - 1)
                    if current_K <= len_c:
                        if current_level == 1:
                            return c
                        current_level -= 1
                        replace_str = ['y', 'u', 'u', 's', 'a', 'a', 'n']
                        current_string = replace_str
                        break
                    else:
                        current_K -= len_c
                else:
                    continue
            else:
                len_c = 1
                if current_K <= len_c:
                    return c
                else:
                    current_K -= len_c
        else:
            if current_level == 1:
                return current_string[current_K - 1]
            else:
                current_level -= 1
                current_string = ['y', 'u', 'u', 's', 'a', 'a', 'n']

def main():
    import sys
    input = sys.stdin.read().split()
    N = int(input[0])
    K = int(input[1])
    print(find_char(N, K))

if __name__ == "__main__":
    main()
0