結果
問題 | No.424 立体迷路 |
ユーザー |
![]() |
提出日時 | 2017-04-03 14:36:47 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 29 ms / 2,000 ms |
コード長 | 649 bytes |
コンパイル時間 | 70 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 11,264 KB |
最終ジャッジ日時 | 2024-07-05 07:14:05 |
合計ジャッジ時間 | 1,378 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 21 |
ソースコード
import sys sys.setrecursionlimit(9**9) h,w=map(int,input().split()) sy,sx,gy,gx=map(int,input().split()) sx-=1 sy-=1 gx-=1 gy-=1 b=[list(map(int,input()))for _ in[0]*h] c=[[False]*w for _ in[0]*h] c[sy][sx]=True def s(x,y): for i in[(1,0),(-1,0),(0,1),(0,-1)]: if 0<=x+i[0]<w and 0<=y+i[1]<h and c[y+i[1]][x+i[0]]==False and abs(b[y+i[1]][x+i[0]]-b[y][x])<2: c[y+i[1]][x+i[0]]=True s(x+i[0],y+i[1]) for i in[(2,0),(-2,0),(0,2),(0,-2)]: if 0<=x+i[0]<w and 0<=y+i[1]<h and c[y+i[1]][x+i[0]]==False and b[y+i[1]//2][x+i[0]//2]<b[y+i[1]][x+i[0]]==b[y][x]: c[y+i[1]][x+i[0]]=True s(x+i[0],y+i[1]) s(sx,sy) print(["NO","YES"][c[gy][gx]])