关注
python迷宫 def tracback(x, y, dis, n):
if pos[x][y] == '#':
return float('inf')
if pos[x][y] == 'E':
if pos[x][y] != '*':
return dis
pos[x][y] = '#'
if x+1 == n:
a = tracback(0, y, dis + 1, n)
else:
a = tracback(x + 1, y, dis + 1, n)
if x-1 == -1:
b = tracback(n-1, y, dis + 1, n)
else:
b = tracback(x - 1, y, dis + 1, n)
if y+1 == n:
c = tracback(x, 0, dis + 1, n)
else:
c = tracback(x, y+1, dis + 1, n)
if y-1 == -1:
d = tracback(x, n-1, dis + 1, n)
else:
d = tracback(x, y-1, dis + 1, n)
res = min(a, b, c, d)
pos[x][y] = '.'
return res
n = int(input().strip())
pos = []
start = [0, 0]
for i in range(n):
temp = input().strip()
row = []
for j in range(n):
if temp[j] == 'S':
start = [i, j]
row.append(temp[j])
pos.append(row)
res = tracback(start[0], start[1], 0, n)
if res == float('inf'):
print(-1)
else:
print(res)
查看原帖
点赞 4
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 要毕业了,再不说就来不及了 #
27377次浏览 349人参与
# 我的租房踩坑经历 #
226891次浏览 1195人参与
# 第3届现代汽车Code Faster急速编程挑战赛 #
4184次浏览 197人参与
# 蔚来工作体验 #
35756次浏览 94人参与
# 你觉得什么岗位会被AI替代 #
68052次浏览 394人参与
# 国企/银行/研究所公司爆料 #
221321次浏览 941人参与
# 你都用AI做什么 #
57032次浏览 536人参与
# 0offer是寒冬太冷还是我太菜 #
1819743次浏览 10765人参与
# 体制内上岸心路历程 #
41520次浏览 243人参与
# 春招/暑实第一面是哪家? #
115640次浏览 1212人参与
# 求职遇到的搞笑事件 #
206570次浏览 1070人参与
# 春招你拿到offer了吗 #
939738次浏览 10329人参与
# 你是怎么和mt相处的? #
112667次浏览 589人参与
# 找工作时遇到的神仙HR #
1257273次浏览 5965人参与
# 牛友の3月总结 #
59302次浏览 288人参与
# 你都收到了哪些公司的感谢信? #
5520031次浏览 36250人参与
# xxx岗位的一天 #
58221次浏览 290人参与
# 我的第一份实习怎么找的 #
294496次浏览 2122人参与
# 第一次面试 #
1157844次浏览 13954人参与
# 数据人offer决赛圈怎么选 #
383263次浏览 2985人参与
# 比亚迪求职进展汇总 #
946919次浏览 3168人参与

