結果

問題 No.1141 田グリッド
ユーザー tyawanmusityawanmusi
提出日時 2020-07-31 21:51:00
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 1,131 ms / 2,000 ms
コード長 573 bytes
コンパイル時間 109 ms
コンパイル使用メモリ 12,800 KB
実行使用メモリ 23,040 KB
最終ジャッジ日時 2024-07-06 17:42:55
合計ジャッジ時間 17,181 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 31
権限があれば一括ダウンロードができます

ソースコード

diff #

mod=10**9+7
h,w=map(int,input().split())
a=[list(map(int,input().split()))for _ in range(h)]
rr=[1]*h
cc=[1]*w
zrr=[0]*h
zcc=[0]*w
z=0
ans=1
for i in range(h):
  for j in range(w):
    if a[i][j]==0:
      zrr[i]+=1
      zcc[j]+=1
      z+=1
      continue
    ans*=a[i][j]
    ans%=mod
    rr[i]*=a[i][j]
    rr[i]%=mod
    cc[j]*=a[i][j]
    cc[j]%=mod
for _ in range(int(input())):
  r,c=map(int,input().split())
  if z-zrr[r-1]-zcc[c-1]+(a[r-1][c-1]==0):print(0)
  else:print((ans*pow(rr[r-1],mod-2,mod)*pow(cc[c-1],mod-2,mod)*(a[r-1][c-1] if a[r-1][c-1] else 1))%mod)
0