結果
問題 | No.2156 ぞい文字列 |
ユーザー | H20 |
提出日時 | 2022-12-09 21:57:29 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 43 ms / 2,000 ms |
コード長 | 457 bytes |
コンパイル時間 | 565 ms |
コンパイル使用メモリ | 82,300 KB |
実行使用メモリ | 53,120 KB |
最終ジャッジ日時 | 2024-10-14 21:51:42 |
合計ジャッジ時間 | 1,825 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 16 |
ソースコード
N = int(input()) MOD = 998244353 def exp(mat_a, mat_b): new_mat = [[0]*len(mat_a) for _ in range(len(mat_a))] for i in range(len(mat_a)): for j in range(len(mat_a)): new_mat[i][j] = sum(mat_a[i][w]*mat_b[w][j] % MOD for w in range(len(mat_a))) % MOD return new_mat ANS = [[1,0],[0,1]] MAP = [[1,1],[1,0]] K = N while K: if K & 1: ANS = exp(ANS, MAP) MAP = exp(MAP, MAP) K //= 2 print((ANS[0][0]-1)%MOD)