結果
| 問題 |
No.424 立体迷路
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-01-21 15:09:26 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 974 bytes |
| コンパイル時間 | 91 ms |
| コンパイル使用メモリ | 12,928 KB |
| 実行使用メモリ | 11,008 KB |
| 最終ジャッジ日時 | 2024-11-25 10:43:40 |
| 合計ジャッジ時間 | 1,996 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 5 |
| other | AC * 19 WA * 2 |
ソースコード
from collections import deque
h,w=map(int,input().split())
sy,sx,gy,gx=map(int,input().split())
sy-=1;sx-=1;gy-=1;gx-=1
g=[list(input()) for _ in range(h)]
visit=[[False]*w for _ in range(h)]
q=deque()
q.append((sy,sx))
while q:
y,x=q.popleft()
if visit[y][x]:
continue
visit[y][x]=True
dy=[-1,0,1,0]
dx=[0,-1,0,1]
for i in range(4):
ny=y+dy[i]
nx=x+dx[i]
if not (0<=ny<h and 0<=nx<w):
continue
if abs(int(g[ny][nx])-int(g[y][x]))>1:
continue
if visit[ny][nx]:
continue
q.append((ny,nx))
dy2=[-2,0,2,0]
dx2=[0,-2,0,2]
for i in range(4):
ny2=y+dy2[i]
nx2=x+dx2[i]
if not (0<=ny2<h and 0<=nx2<w):
continue
if int(g[ny2][nx2])!=int(g[y][x]):
continue
if int(g[(ny+y)//2][(nx+x)//2])>int(g[y][x]):
continue
q.append((ny2,nx2))
print('YES' if visit[gy][gx] else 'NO')