結果
| 問題 |
No.1141 田グリッド
|
| コンテスト | |
| ユーザー |
rlangevin
|
| 提出日時 | 2023-01-31 00:11:38 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,164 bytes |
| コンパイル時間 | 268 ms |
| コンパイル使用メモリ | 82,204 KB |
| 実行使用メモリ | 88,376 KB |
| 最終ジャッジ日時 | 2024-06-30 07:55:45 |
| 合計ジャッジ時間 | 6,729 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 18 WA * 13 |
ソースコード
H, W = map(int, input().split())
mod = 10 ** 9 + 7
A = []
ans = 1
zx, zy = -1, -1
for i in range(H):
A.append(list(map(int, input().split())))
for j in range(W):
ans *= A[i][j]
ans %= mod
if A[i][j] == 0:
if zx == -1:
zx, zy = i, j
else:
print(0)
exit()
if zx != -1:
ans = 1
for i in range(H):
for j in range(W):
if i == zx:
continue
if j == zy:
continue
ans *= A[i][j]
ans %= mod
DH, DW = [1] * H, [1] * W
for i in range(H):
for j in range(W):
DH[i] *= A[i][j]
DH[i] %= mod
DW[j] *= A[i][j]
DW[j] %= mod
for i in range(H):
DH[i] = pow(DH[i], mod - 2, mod)
for j in range(W):
DW[j] = pow(DW[j], mod - 2, mod)
Q = int(input())
for i in range(Q):
r, c = map(int, input().split())
r, c = r - 1 , c - 1
if zx == -1:
print(ans * DH[r] * DW[c] * A[r][c] % mod)
else:
if zx == r and zy == c:
print(ans)
else:
print(0)
rlangevin