結果
問題 | No.424 立体迷路 |
ユーザー |
![]() |
提出日時 | 2022-09-13 19:16:55 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 74 ms / 2,000 ms |
コード長 | 964 bytes |
コンパイル時間 | 215 ms |
コンパイル使用メモリ | 82,036 KB |
実行使用メモリ | 73,088 KB |
最終ジャッジ日時 | 2024-12-14 03:05:52 |
合計ジャッジ時間 | 2,671 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 21 |
ソースコード
from collections import deque h,w = map(int,input().split()) sl,sr,gl,gr = map(int,input().split()) grid = [input() for i in range(h)] ans = [[0]*w for i in range(h)] l=[1,0,-1,0] r=[0,1,0,-1] ll =[2,0,-2,0] rr=[0,2,0,-2] d=deque() d.append((sl-1,sr-1)) while d: x,y=d.popleft() for i in range(4): if 0 <= x+l[i] < h and 0<= y+r[i] <w: if abs(int(grid[x][y]) - int(grid[x+l[i]][y+r[i]])) <= 1: if ans[x+l[i]][y+r[i]] == 0: d.append((x+l[i],y+r[i])) ans[x+l[i]][y+r[i]] = 1 for i in range(4): if 0 <= x+ll[i] < h and 0<= y+rr[i] <w: if grid[x][y] == grid[x+ll[i]][y+rr[i]] and grid[x][y] > grid[x+l[i]][y+r[i]]: if ans[x+ll[i]][y+rr[i]] == 0: d.append((x+ll[i],y+rr[i])) ans[x+ll[i]][y+rr[i]] = 1 if ans[gl-1][gr-1] == 1: print('YES') else: print('NO') # for i in ans: # print(i)