結果

問題 No.3036 Nauclhlt型文字列
ユーザー gew1fw
提出日時 2025-06-12 13:48:56
言語 PyPy3
(7.3.15)
結果
RE  
実行時間 -
コード長 842 bytes
コンパイル時間 175 ms
コンパイル使用メモリ 82,632 KB
実行使用メモリ 67,848 KB
最終ジャッジ日時 2025-06-12 13:49:09
合計ジャッジ時間 2,185 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample RE * 3
other RE * 15
権限があれば一括ダウンロードができます

ソースコード

diff #

import operator

ten = len('aaaaaaaaaa')
nine = len('aaaaaaaaa')
seven = len('aaaaaaa')
two = len('aa')
one = len('a')
zero = len('')
mod = pow(ten, nine) + seven

def compute(n, mod):
    if n == zero:
        return (two.__mod__(mod), one.__mod__(mod), one.__mod__(mod))
    k = n // two
    a, b, s = compute(k, mod)
    if n.__mod__(two) == zero:
        l_n = (operator.mul(a, a) - operator.mul(two, s)).__mod__(mod)
        l_n_plus_1 = (operator.mul(a, b) - s).__mod__(mod)
        new_sign = one.__mod__(mod)
    else:
        l_n = (operator.mul(a, b) - s).__mod__(mod)
        l_n_plus_1 = (operator.mul(b, b) - operator.mul(two, (-s))).__mod__(mod)
        new_sign = (-one).__mod__(mod)
    return (l_n, l_n_plus_1, new_sign)

T = int(input())
for _ in range(T):
    N = int(input())
    res, _, _ = compute(N, mod)
    print(res)
0