結果
問題 | No.1141 田グリッド |
ユーザー | tyawanmusi |
提出日時 | 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 |
ソースコード
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)