結果
| 問題 | 
                            No.1810 RGB Biscuits
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2022-01-14 21:57:21 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 691 bytes | 
| コンパイル時間 | 175 ms | 
| コンパイル使用メモリ | 81,860 KB | 
| 実行使用メモリ | 77,748 KB | 
| 最終ジャッジ日時 | 2024-11-20 09:57:35 | 
| 合計ジャッジ時間 | 3,308 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge5 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | WA * 2 | 
| other | AC * 1 WA * 19 | 
ソースコード
A,B = map(int,input().split())
N = int(input())
P = 10 ** 9 + 7
R = [[A,B,0],[1,0,0],[0,0,0]]
S = [[1,0,0,],[0,1,0],[A,B,0]]
def seki(X,Y):
    l = [[0] *3 for _ in range(3)]
    for i in range(3):
        for j in range(3):
            for k in range(3):
                l[i][j] = (l[i][j] + X[i][k] * Y[k][j]) % P
    return l
for _ in range(N):
    t = int(input())
    q = t // 2
    r = t % 2
    tmp = [[1,0,0,],[0,1,0],[0,0,1]]
    Rnow = R
    while q:
        if q & 1:
            tmp = seki(R,tmp)
        q >>= 1
        Rnow = seki(Rnow,Rnow)
    if r:
        tmp = seki(S,tmp)
    ans = tmp[0][0] + tmp[0][1] + tmp[1][0] + tmp[1][1] + tmp[2][0] + tmp[2][1]
    print(ans % P)