結果
| 問題 | 
                            No.2017 Mod7 Parade
                             | 
                    
| コンテスト | |
| ユーザー | 
                             sepa38
                         | 
                    
| 提出日時 | 2023-03-15 21:04:43 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 471 ms / 2,000 ms | 
| コード長 | 504 bytes | 
| コンパイル時間 | 159 ms | 
| コンパイル使用メモリ | 82,976 KB | 
| 実行使用メモリ | 170,212 KB | 
| 最終ジャッジ日時 | 2024-09-18 08:53:15 | 
| 合計ジャッジ時間 | 7,994 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge4 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 18 | 
ソースコード
k = int(input())
ls = [list(map(int, input().split())) for _ in range(k)]
dp = [[[0] * 7 for _ in range(6)] for _ in range(k+1)]
dp[k][0][0] = 1
mod = 10 ** 9 + 7
ans = 0
for i in reversed(range(k)):
  d, l = ls[i]
  for j in range(6):
    ad = int("0" + str(d) * (l % 6) + "0" * j) % 7
    for p in range(7):
      dp[i][(j+l)%6][p] = (dp[i+1][(j+l)%6][p] + dp[i+1][j][(p-ad)%7]) % mod
for j in range(6):
  for p in range(7):
    ans += dp[0][j][p] * p
    ans %= mod
# print(*dp, sep = "\n")
print(ans)
            
            
            
        
            
sepa38