結果
問題 |
No.1810 RGB Biscuits
|
ユーザー |
![]() |
提出日時 | 2024-11-22 10:53:57 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 223 ms / 2,000 ms |
コード長 | 531 bytes |
コンパイル時間 | 175 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 77,952 KB |
最終ジャッジ日時 | 2024-11-22 10:54:02 |
合計ジャッジ時間 | 4,148 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 20 |
ソースコード
L=3 M=10**9+7 def seki(a,b): c=[[0]*L for i in range(L)] for i in range(L): for j in range(L): for k in range(L): c[i][j]+=a[i][k]*b[k][j] c[i][j]%=M return c a,b=map(int,input().split()) A0=[[0,0,1],[1,0,0],[0,0,0]] A1=[[1,0,0],[0,1,0],[a,b,1]] n=int(input()) for _ in range(n): t=int(input()) A=seki(A0,A1) B=[[1,0,0],[0,1,0],[0,0,1]] for i in range(61): if ((t//2)>>i)&1: B=seki(A,B) A=seki(A,A) if t%2: B=seki(A1,B) print(sum(B[i][0]+B[i][1] for i in range(L))%M)