結果
問題 | No.2946 Puyo |
ユーザー | ねしん |
提出日時 | 2024-10-25 21:41:38 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,145 ms / 2,000 ms |
コード長 | 980 bytes |
コンパイル時間 | 170 ms |
コンパイル使用メモリ | 82,376 KB |
実行使用メモリ | 283,248 KB |
最終ジャッジ日時 | 2024-10-25 21:42:15 |
合計ジャッジ時間 | 30,972 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 45 |
ソースコード
from collections import defaultdict,deque H,W=list(map(int,input().split())) MAP=[] for i in range(H): s=input() MAP.append(s) ANS=[] for i in range(H): ANS.append(["."]*W) for i in range(H): for j in range(W): ANS[i][j]=MAP[i][j] check=set() for i in range(H): for j in range(W): if (i,j) in check: continue Q=deque() c=set() Q.append((i,j)) c.add((i,j)) while len(Q)>0: x,y=Q.popleft() if x>0: if (x-1,y) not in c and MAP[x-1][y]==MAP[x][y]: c.add((x-1,y)) Q.append((x-1,y)) if x<H-1: if (x+1,y) not in c and MAP[x+1][y]==MAP[x][y]: c.add((x+1,y)) Q.append((x+1,y)) if y>0: if (x,y-1) not in c and MAP[x][y-1]==MAP[x][y]: c.add((x,y-1)) Q.append((x,y-1)) if y<W-1: if (x,y+1) not in c and MAP[x][y+1]==MAP[x][y]: c.add((x,y+1)) Q.append((x,y+1)) #print(i,j,c) if len(c)>=4: for x,y in c: ANS[x][y]="." for k in c: check.add(k) for i in range(H): print("".join(ANS[i]))