結果
問題 |
No.3036 Nauclhlt型文字列
|
ユーザー |
![]() |
提出日時 | 2025-06-12 18:49:57 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 842 bytes |
コンパイル時間 | 207 ms |
コンパイル使用メモリ | 81,784 KB |
実行使用メモリ | 67,196 KB |
最終ジャッジ日時 | 2025-06-12 18:50:06 |
合計ジャッジ時間 | 2,085 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | RE * 3 |
other | RE * 15 |
ソースコード
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)