結果
| 問題 |
No.179 塗り分け
|
| コンテスト | |
| ユーザー |
rlangevin
|
| 提出日時 | 2023-01-22 12:45:03 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 316 ms / 3,000 ms |
| コード長 | 1,150 bytes |
| コンパイル時間 | 171 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 77,184 KB |
| 最終ジャッジ日時 | 2024-06-24 17:28:08 |
| 合計ジャッジ時間 | 4,766 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 6 |
| other | AC * 40 |
ソースコード
H, W = map(int, input().split())
G = []
flag = 1
sx, sy = 0, 0
for i in range(H):
G.append(list(input()))
if flag:
for j in range(W):
if G[i][j] == "#":
sx = i
sy = j
flag = 0
break
s = (sx, sy)
for gx in range(H):
for gy in range(W):
g = (gx, gy)
if G[gx][gy] != "#" or s == g:
continue
S = set()
S.add(s)
S.add(g)
dx = g[0] - s[0]
dy = g[1] - s[1]
flag = 1
for i in range(H):
for j in range(W):
if G[i][j] != "#":
continue
if (i, j) in S:
continue
nx = i + dx
ny = j + dy
if (nx, ny) in S:
continue
if nx < 0 or nx > H - 1 or ny < 0 or ny > W - 1:
flag = 0
break
if G[nx][ny] != "#":
flag = 0
break
S.add((nx, ny))
if flag:
print("YES")
exit()
print("NO")
rlangevin