結果

問題 No.424 立体迷路
ユーザー tabataba
提出日時 2017-04-03 14:36:47
言語 Python3
(3.12.2 + numpy 1.26.4 + scipy 1.12.0)
結果
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
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 24 ms
10,752 KB
testcase_01 AC 24 ms
10,880 KB
testcase_02 AC 24 ms
10,752 KB
testcase_03 AC 28 ms
10,752 KB
testcase_04 AC 25 ms
10,752 KB
testcase_05 AC 26 ms
11,008 KB
testcase_06 AC 24 ms
10,752 KB
testcase_07 AC 24 ms
10,880 KB
testcase_08 AC 24 ms
10,880 KB
testcase_09 AC 23 ms
10,752 KB
testcase_10 AC 24 ms
10,752 KB
testcase_11 AC 24 ms
10,752 KB
testcase_12 AC 24 ms
10,752 KB
testcase_13 AC 23 ms
10,752 KB
testcase_14 AC 24 ms
10,752 KB
testcase_15 AC 24 ms
10,752 KB
testcase_16 AC 24 ms
10,752 KB
testcase_17 AC 25 ms
10,880 KB
testcase_18 AC 24 ms
10,752 KB
testcase_19 AC 24 ms
10,752 KB
testcase_20 AC 24 ms
10,880 KB
testcase_21 AC 24 ms
10,752 KB
testcase_22 AC 23 ms
10,880 KB
testcase_23 AC 24 ms
10,880 KB
testcase_24 AC 29 ms
11,264 KB
testcase_25 AC 29 ms
11,264 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

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]])
0