关注
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
相关推荐
10-29 15:51
嘉应学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 十二月请对我好一点 #
6831次浏览 146人参与
# 父母对你找工作是助力还是阻力? #
2388次浏览 63人参与
# 哪一瞬间让你觉得“这班不如不上” #
2015次浏览 22人参与
# 为了去实习,我赌上了___ #
2152次浏览 40人参与
# 工作中出现了XX情况正常吗 #
8488次浏览 108人参与
# 聊聊我眼中的AI #
485092次浏览 6713人参与
# 一人推荐一个值得做的项目 #
2771次浏览 49人参与
# 高薪高压 vs 低薪wlb,你怎么选? #
3523次浏览 42人参与
# uu们,春招你还来吗? #
1961次浏览 24人参与
# 回顾今年你干过的最“勇”的一件事 #
4455次浏览 72人参与
# 工作前VS工作后,你的心态变化 #
3843次浏览 34人参与
# 公司福利里最没用的一项是啥 #
2449次浏览 56人参与
# 秋招有哪些公司要求提前实习 #
90928次浏览 482人参与
# 如何用一句话描述你的职业 #
27906次浏览 180人参与
# 机械人的金三校招总结 #
38884次浏览 465人参与
# 追觅科技求职进展汇总 #
28893次浏览 181人参与
# 职场上哪些事情令人讨厌 #
32304次浏览 142人参与
# 你收到了团子的OC了吗 #
1469233次浏览 11805人参与
# 毕业季,给职场新人一些建议 #
161747次浏览 2365人参与
# 应届生,你找到工作了吗 #
90918次浏览 570人参与
