結果
問題 |
No.13 囲みたい!
|
ユーザー |
|
提出日時 | 2022-03-02 20:42:33 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 76 ms / 5,000 ms |
コード長 | 836 bytes |
コンパイル時間 | 177 ms |
コンパイル使用メモリ | 82,172 KB |
実行使用メモリ | 76,596 KB |
最終ジャッジ日時 | 2024-07-16 11:20:33 |
合計ジャッジ時間 | 1,693 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 16 |
ソースコード
W,H = map(int,input().split()) S = [list(map(int,input().split())) for _ in range(H)] memo = [[0] * W for _ in range(H)] import sys for h in range(H): for w in range(W): if memo[h][w] == 1:continue stack = [(h,w,-1,-1)] memo[h][w] = 1 while stack: h,w,bh,bw = stack.pop() for i,j in [(1,0),(-1,0),(0,1),(0,-1)]: if 0 <= h + i < H and 0 <= w + j < W: if h + i != bh or w + j != bw: if S[h+i][w+j] == S[h][w]: if memo[h+i][w+j] == 1: print("possible") exit() else: stack.append((h+i,w+j,h,w)) memo[h+i][w+j] = 1 print("impossible")