結果
| 問題 |
No.179 塗り分け
|
| コンテスト | |
| ユーザー |
maatanbeta
|
| 提出日時 | 2017-05-18 12:39:12 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 78 ms / 3,000 ms |
| コード長 | 1,902 bytes |
| コンパイル時間 | 97 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 11,136 KB |
| 最終ジャッジ日時 | 2024-07-23 14:42:49 |
| 合計ジャッジ時間 | 2,932 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 6 |
| other | AC * 40 |
ソースコード
from copy import deepcopy
def search(yi, xi):
global overy
global overx
SC = [0] * H
for i in range(H):
SC[i] = [0] * W
yt = 0
while(yt < H):
xt = 0
while(xt < W):
if S[yt][xt] == "#" and SC[yt][xt] != "$":
try:
if S[yt+yi][xt+xi] == "#":
SC[yt+yi][xt+xi] = "$"
else:
return False
except IndexError:
"""
if yt+yi >= H:
overy = yi
if xt+xi >= W:
overx = xi
"""
return False
xt += 1
yt += 1
return True
H, W = list(map(int, input().split()))
S = [0] * H
for i in range(H):
S[i] = list(input())
printed = False
y = 0
overy, overx = float("inf"), float("inf")
"""
for i in range(H-1, -1, -1):
if "#" in S[i]:
overy = H - i + 1
break
"""
while(y < H):
x = 0
while(x < W):
if S[y][x] == "#":
yi = 0
while(y + yi < H):
xi = -x
while(x + xi < W):
if yi != 0 or xi != 0:
if S[y+yi][x+xi] == "#":
if search(yi, xi):
yi, xi = float("inf"), float("inf")
print("YES")
printed = True
xi += 1
"""
if overx <= xi:
xi = float("inf")
"""
yi += 1
"""
if overy <= yi:
yi = float("inf")
"""
y, x = float("inf"), float("inf")
x += 1
y += 1
if y >= H and not printed:
print("NO")
maatanbeta