結果
問題 | No.2017 Mod7 Parade |
ユーザー |
![]() |
提出日時 | 2022-07-22 21:52:45 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 877 bytes |
コンパイル時間 | 154 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 82,560 KB |
最終ジャッジ日時 | 2024-07-04 06:07:15 |
合計ジャッジ時間 | 3,345 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 2 RE * 16 |
ソースコード
mod = 1000000007 def main(): import sys input = sys.stdin.readline N = int(input()) DL = [] for _ in range(N): d, l = map(int, input().split()) DL.append((d, l % 6)) mod10 = [pow(10, i, 7) for i in range(6)] dp = [[0] * 6 for _ in range(7)] dp[0][0] = 1 for i in range(N - 1, -1, -1): dp_new = [[0] * 6 for _ in range(7)] d, l = DL[i] dd = int(str(d) * l) % 7 for j in range(7): for k in range(6): dp_new[j][k] = (dp_new[j][k] + dp[j][k]) % mod dp_new[(j + dd * mod10[k]) % 7][(k + l) % 6] = (dp_new[(j + dd * mod10[k]) % 7][(k + l) % 6] + dp[j][k])%mod dp = dp_new ans = 0 for j in range(7): for k in range(6): ans = (ans + (j * dp[j][k]) % mod) % mod print(ans) if __name__ == '__main__': main()