結果
| 問題 |
No.1141 田グリッド
|
| ユーザー |
AEn
|
| 提出日時 | 2022-05-21 17:00:59 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 348 ms / 2,000 ms |
| コード長 | 759 bytes |
| コンパイル時間 | 289 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 88,960 KB |
| 最終ジャッジ日時 | 2024-09-20 11:59:16 |
| 合計ジャッジ時間 | 7,639 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 31 |
ソースコード
H, W = map(int, input().split())
A = [list(map(int, input().split())) for _ in range(H)]
H_n = [1]*H
W_n = [1]*W
H_z = [0]*H
W_z = [0]*W
mod = 10**9+7
al = 1
al_z = 0
for i in range(H):
for j in range(W):
if A[i][j] == 0:
H_z[i] += 1
W_z[j] += 1
al_z += 1
else:
H_n[i] *= A[i][j]
W_n[j] *= A[i][j]
al *= A[i][j]
H_n[i] %= mod
W_n[j] %= mod
al %= mod
Q = int(input())
for i in range(Q):
r, c = map(int, input().split())
if H_z[r-1]+W_z[c-1]-(A[r-1][c-1]==0) != al_z:
print(0)
else:
p = 1 if A[r-1][c-1] == 0 else A[r-1][c-1]
print((al*pow(H_n[r-1], mod-2, mod)*pow(W_n[c-1], mod-2, mod)*p)%mod)
AEn