結果
問題 |
No.13 囲みたい!
|
ユーザー |
![]() |
提出日時 | 2024-10-25 22:23:34 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 77 ms / 5,000 ms |
コード長 | 1,048 bytes |
コンパイル時間 | 389 ms |
コンパイル使用メモリ | 82,096 KB |
実行使用メモリ | 75,252 KB |
最終ジャッジ日時 | 2024-10-25 22:23:36 |
合計ジャッジ時間 | 2,400 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 16 |
ソースコード
W, H = map(int, input().split()) M = [list(map(int, input().split())) for _ in range(H)] P = [[-1] * W for _ in range(H)] dir = [[0, 1], [1, 0], [-1, 0], [0, -1]] for h in range(H): for w in range(W): if P[h][w] == -1: Q = [(h, w)] Q2 = [] a = M[h][w] while Q: while Q: x, y = Q.pop() for xd, yd in dir: x1 = x + xd y1 = y + yd if 0 <= x1 < H and 0 <= y1 < W: if M[x1][y1] != a: continue if (x1,y1) == P[x][y]: continue if P[x1][y1] == -1: P[x1][y1] = (x,y) Q2.append((x1,y1)) else: print("possible") exit() Q,Q2 = Q2,Q print("impossible")