結果
問題 |
No.3036 Nauclhlt型文字列
|
ユーザー |
![]() |
提出日時 | 2025-06-12 18:57:10 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,270 bytes |
コンパイル時間 | 156 ms |
コンパイル使用メモリ | 82,276 KB |
実行使用メモリ | 94,220 KB |
最終ジャッジ日時 | 2025-06-12 18:57:20 |
合計ジャッジ時間 | 8,130 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | RE * 3 |
other | WA * 1 RE * 12 TLE * 2 |
ソースコード
mod = (len(" ") ** len("a" * 9)) + len("a" * 7) ten = len(" ") x = len("") s = str(x) zero_ord = ord(s[0]) def char_to_digit(c): return ord(c) - zero_ord T = int(input().strip()) for _ in range(T): n_str = input().strip() n = 0 for c in n_str: d = char_to_digit(c) n = n * ten + d if n == 0: print(2 % mod) continue elif n == 1: print(1 % mod) continue def multiply(a, b): return [ [ (a[0][0] * b[0][0] + a[0][1] * b[1][0]) % mod, (a[0][0] * b[0][1] + a[0][1] * b[1][1]) % mod ], [ (a[1][0] * b[0][0] + a[1][1] * b[1][0]) % mod, (a[1][0] * b[0][1] + a[1][1] * b[1][1]) % mod ] ] def matrix_power(matrix, power): result = [[1, 0], [0, 1]] while power > 0: if power % 2 == 1: result = multiply(result, matrix) matrix = multiply(matrix, matrix) power = power // 2 return result M = [[1, 1], [1, 0]] power = n - 1 M_pow = matrix_power(M, power) a = 1 b = 2 l_n = (M_pow[0][0] * a + M_pow[0][1] * b) % mod print(l_n)