結果
問題 |
No.1202 お菓子の食べ方
|
ユーザー |
|
提出日時 | 2020-08-28 23:19:56 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 840 bytes |
コンパイル時間 | 1,052 ms |
コンパイル使用メモリ | 82,156 KB |
実行使用メモリ | 96,088 KB |
最終ジャッジ日時 | 2024-11-14 02:05:09 |
合計ジャッジ時間 | 28,021 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | RE * 45 |
ソースコード
P = 10 ** 9 + 7 N, M = map(int, input().split()) F = [1] * (11 * 10 ** 5) ans = 0 for i in range(1, 11 * 10 ** 5): F[i] = F[i - 1] * i % P S = [list(map(int, input().split())) + [0] for i in range(N)] + [[0] * (M + 1)] for i in range(N + 1): for j in range(M + 1): x = F[S[i][j] + i + j] * pow((F[i] * F[j] * F[S[i][j]]) % P, P - 2, P) % P if S[i][j] != S[i - 1][j] and S[i][j] != S[i + 1][j]: ans += x ans %= P elif S[i][j] == S[i - 1][j]: ans += x * pow(S[i][j] + i, P - 2, P) * S[i][j] ans %= P else: ans += x * pow(S[i][j] + j, P - 2, P) * S[i][j] ans %= P print(ans)