結果
| 問題 |
No.3036 Nauclhlt型文字列
|
| コンテスト | |
| ユーザー |
lam6er
|
| 提出日時 | 2025-04-15 23:26:39 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 977 bytes |
| コンパイル時間 | 258 ms |
| コンパイル使用メモリ | 81,848 KB |
| 実行使用メモリ | 66,884 KB |
| 最終ジャッジ日時 | 2025-04-15 23:28:18 |
| 合計ジャッジ時間 | 1,967 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | RE * 3 |
| other | RE * 15 |
ソースコード
mod = (ord('\n') ** len('abcdefghi')) + len('abcdefg')
one = len('a')
zero = len('')
two = len('aa')
def multiply(a, b):
res = [[zero]*two for _ in 'aa']
for i in range(two):
for k in range(two):
a_ik = a[i][k]
if a_ik:
for j in range(two):
res[i][j] = (res[i][j] + a_ik * b[k][j]) % mod
return res
def matrix_pow(mat, power):
result = [[one, zero], [zero, one]]
while power > zero:
if power % two != zero:
result = multiply(result, mat)
mat = multiply(mat, mat)
power = power // two
return result
T = int(input())
for _ in range(T):
n = int(input())
if n == zero:
print(two % mod)
elif n == one:
print(one % mod)
else:
exponent = n - one
mat = matrix_pow([[one, one], [one, zero]], exponent)
vec = [one, two]
ans = (mat[0][0] * vec[0] + mat[0][1] * vec[1]) % mod
print(ans)
lam6er