結果
問題 | No.2946 Puyo |
ユーザー | Theta |
提出日時 | 2024-11-20 11:56:03 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,235 ms / 2,000 ms |
コード長 | 1,161 bytes |
コンパイル時間 | 474 ms |
コンパイル使用メモリ | 81,844 KB |
実行使用メモリ | 272,028 KB |
最終ジャッジ日時 | 2024-11-20 11:56:40 |
合計ジャッジ時間 | 28,694 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 34 ms
52,004 KB |
testcase_01 | AC | 34 ms
52,340 KB |
testcase_02 | AC | 33 ms
53,908 KB |
testcase_03 | AC | 1,209 ms
271,876 KB |
testcase_04 | AC | 1,235 ms
271,888 KB |
testcase_05 | AC | 1,214 ms
271,652 KB |
testcase_06 | AC | 1,196 ms
271,832 KB |
testcase_07 | AC | 1,220 ms
272,028 KB |
testcase_08 | AC | 117 ms
86,280 KB |
testcase_09 | AC | 343 ms
121,616 KB |
testcase_10 | AC | 136 ms
84,588 KB |
testcase_11 | AC | 607 ms
163,328 KB |
testcase_12 | AC | 116 ms
87,084 KB |
testcase_13 | AC | 44 ms
61,292 KB |
testcase_14 | AC | 163 ms
90,856 KB |
testcase_15 | AC | 115 ms
84,708 KB |
testcase_16 | AC | 264 ms
99,312 KB |
testcase_17 | AC | 686 ms
177,204 KB |
testcase_18 | AC | 75 ms
77,068 KB |
testcase_19 | AC | 291 ms
106,528 KB |
testcase_20 | AC | 375 ms
113,492 KB |
testcase_21 | AC | 571 ms
156,760 KB |
testcase_22 | AC | 131 ms
86,872 KB |
testcase_23 | AC | 359 ms
112,704 KB |
testcase_24 | AC | 782 ms
177,052 KB |
testcase_25 | AC | 689 ms
163,668 KB |
testcase_26 | AC | 771 ms
177,300 KB |
testcase_27 | AC | 75 ms
76,804 KB |
testcase_28 | AC | 649 ms
160,056 KB |
testcase_29 | AC | 933 ms
207,312 KB |
testcase_30 | AC | 488 ms
136,456 KB |
testcase_31 | AC | 747 ms
162,808 KB |
testcase_32 | AC | 701 ms
162,512 KB |
testcase_33 | AC | 615 ms
148,996 KB |
testcase_34 | AC | 849 ms
199,124 KB |
testcase_35 | AC | 713 ms
162,932 KB |
testcase_36 | AC | 722 ms
174,088 KB |
testcase_37 | AC | 815 ms
176,836 KB |
testcase_38 | AC | 594 ms
153,052 KB |
testcase_39 | AC | 543 ms
142,808 KB |
testcase_40 | AC | 357 ms
114,376 KB |
testcase_41 | AC | 785 ms
187,648 KB |
testcase_42 | AC | 682 ms
171,172 KB |
testcase_43 | AC | 641 ms
149,204 KB |
testcase_44 | AC | 835 ms
180,704 KB |
testcase_45 | AC | 614 ms
157,148 KB |
testcase_46 | AC | 368 ms
115,964 KB |
testcase_47 | AC | 599 ms
145,520 KB |
ソースコード
from itertools import product DIJ = ((0, 1), (0, -1), (1, 0), (-1, 0)) def main(): H, W = map(int, input().split()) board = [list(input()) for _ in range(H)] def is_valid_pos(h: int, w: int) -> bool: return 0 <= h < H and 0 <= w < W visited = set() for h, w in product(range(H), range(W)): if (h, w) in visited: continue current_con = set() q = [(h, w)] while q: cur = q.pop() if cur in current_con: continue current_con.add(cur) visited.add(cur) for dij in DIJ: next_ = (cur[0]+dij[0], cur[1]+dij[1]) if next_ in visited: continue if not is_valid_pos(*next_): continue if board[cur[0]][cur[1]] != board[next_[0]][next_[1]]: continue q.append(next_) if len(current_con) < 4: continue for mass in current_con: board[mass[0]][mass[1]] = "." for row in board: print("".join(row)) if __name__ == "__main__": main()