結果
| 問題 |
No.226 0-1パズル
|
| コンテスト | |
| ユーザー |
yaoshimax
|
| 提出日時 | 2015-06-14 17:53:56 |
| 言語 | Python2 (2.7.18) |
| 結果 |
AC
|
| 実行時間 | 14 ms / 5,000 ms |
| コード長 | 1,026 bytes |
| コンパイル時間 | 539 ms |
| コンパイル使用メモリ | 7,040 KB |
| 実行使用メモリ | 6,528 KB |
| 最終ジャッジ日時 | 2024-07-26 14:23:49 |
| 合計ジャッジ時間 | 1,118 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 22 |
ソースコード
H,W=map(int,raw_input().split())
S=[list(raw_input()) for i in range(H)]
mod=1000000007
isVal=[-1 for i in range(W)]
marble=1
cross=1
excep1=1
excep0=1
for h in range(H):
b=-1
for w in range(W):
if S[h][w]=='1':
if (h+w)%2==0:
excep0=0
else:
excep1=0
if isVal[w]==h%2:
cross=0
else:
isVal[w]=1-(h%2)
if b==-1:
b=w%2
elif b!=w%2:
marble=0
elif S[h][w]=='0':
if (h+w)%2==0:
excep1=0
else:
excep0=0
if isVal[w]==1-(h%2):
cross=0
else:
isVal[w]=h%2
if b==-1:
b=1-w%2
elif b!=1-w%2:
marble=0
if b==-1:
marble*=2
marble%=mod
for v in isVal:
#print v,
if v==-1:
cross*=2
cross%=mod
#print
print (marble+cross-excep0-excep1)%mod
yaoshimax