結果
| 問題 |
No.179 塗り分け
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-03-13 02:56:17 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 1,957 ms / 3,000 ms |
| コード長 | 1,331 bytes |
| コンパイル時間 | 313 ms |
| コンパイル使用メモリ | 12,928 KB |
| 実行使用メモリ | 11,008 KB |
| 最終ジャッジ日時 | 2024-07-23 14:56:05 |
| 合計ジャッジ時間 | 5,503 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 6 |
| other | AC * 40 |
ソースコード
import sys
H, W = map(int, input().split())
black_l = []
count = 0
for i in range(H):
l = list(input())
for j in range(W):
if l[j] == "#":
black_l.append(H * i + j)
count += 1
if count == 0:
print("NO")
sys.exit()
if count % 2 == 0:
num = count // 2
else:
print("NO")
sys.exit()
for i in range(H):
for j in range(W):
if i == j == 0:
continue
nowuse = list(black_l)
nowuse1 = list(black_l)
while True:
if (nowuse[0] % H) + j > W - 1:
break
ck_nom = nowuse[0] + j + i * H
try:
nowuse.remove(ck_nom)
nowuse.pop(0)
except:
# print(i,j)
# print(nowuse)
break
if len(nowuse) == 0:
print("YES")
sys.exit()
while True:
if (nowuse1[0] % H) - j < 0:
break
ck_nom = nowuse1[0] - j + i * H
try:
nowuse1.remove(ck_nom)
nowuse1.pop(0)
except:
# print(i,j)
# print(nowuse)
break
if len(nowuse1) == 0:
print("YES")
sys.exit()
print("NO")