关注
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
相关推荐
点赞 评论 收藏
分享
12-18 17:51
浙江大学 Java 点赞 评论 收藏
分享
12-02 11:57
南京艺术学院 设计 点赞 评论 收藏
分享
12-03 10:20
南京理工大学 前端工程师 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你小心翼翼的闯过多大的祸? #
1692次浏览 44人参与
# 找不到实习会影响秋招吗 #
1398929次浏览 13627人参与
# 实习没事做是福还是祸? #
2008次浏览 39人参与
# 考研人,我有话说 #
156383次浏览 1211人参与
# 2025年终总结 #
129515次浏览 2178人参与
# 实习简历求拷打 #
21375次浏览 232人参与
# 哪些公司笔/面试难度大? #
6972次浏览 32人参与
# 携程工作体验 #
18793次浏览 66人参与
# 那些我实习了才知道的事 #
252828次浏览 1784人参与
# 你觉得现在还能进互联网吗? #
29840次浏览 200人参与
# 第一份工作能做外包吗? #
93848次浏览 599人参与
# 投格力的你,拿到offer了吗? #
154374次浏览 829人参与
# 秋招遇到的奇葩面试题 #
101183次浏览 416人参与
# 作业帮求职进展汇总 #
84975次浏览 559人参与
# 简历当中有水分算不算造假? #
154205次浏览 2250人参与
# 秋招被挂春招仍然能投的公司 #
8756次浏览 110人参与
# 扒一扒那些奇葩实习经历 #
140012次浏览 1148人参与
# 正在实习的你,有转正机会吗? #
465637次浏览 3062人参与
# 信也科技工作体验 #
13488次浏览 39人参与
# mt对你说过最有启发的一句话 #
41461次浏览 468人参与

