結果
| 問題 |
No.2946 Puyo
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-10-25 21:47:09 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 543 ms / 2,000 ms |
| コード長 | 1,142 bytes |
| コンパイル時間 | 318 ms |
| コンパイル使用メモリ | 82,140 KB |
| 実行使用メモリ | 138,264 KB |
| 最終ジャッジ日時 | 2024-10-25 21:48:06 |
| 合計ジャッジ時間 | 16,524 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 45 |
ソースコード
from collections import deque
from copy import deepcopy
H,W=map(int,input().split())
G=[list(input()) for _ in range(H)]
ans=deepcopy(G)
dij=[(1,0),(-1,0),(0,1),(0,-1)]
vis=[[False for _ in range(W)] for _ in range(H)]
for i in range(H):
for j in range(W):
if vis[i][j]:
continue
if G[i][j]==".":
continue
vis[i][j]=True
Q=deque()
Q.append((i,j))
cands=[(i,j)]
while len(Q):
pi,pj=Q.popleft()
for di,dj in dij:
ni=pi+di
nj=pj+dj
if ni<0 or H<=ni:
continue
if nj<0 or W<=nj:
continue
if vis[ni][nj]:
continue
if G[ni][nj]==".":
continue
if G[pi][pj]==G[ni][nj]:
vis[ni][nj]=True
Q.append((ni,nj))
cands.append((ni,nj))
if len(cands)>=4:
for ni,nj in cands:
ans[ni][nj]="."
for row in ans:
for x in row:
print(x,end="")
print()