結果
| 問題 |
No.424 立体迷路
|
| コンテスト | |
| ユーザー |
taba
|
| 提出日時 | 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]])
taba