关注
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
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
01-12 20:31
东北大学 Java
冰炸橙汁_不做oj版:虽然石凯说这大作业能用但是我感觉走java后端还是算了吧,项目一般放两个就行,建议到知识星球上找个项目把前两个换掉 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 交出你的校招焚诀 #
6051次浏览 117人参与
# 哪些公司开暑期实习了? #
12116次浏览 106人参与
# 神州信息求职进展汇总 #
2773次浏览 50人参与
# 实习生至暗时刻 #
12441次浏览 249人参与
# 春招开局,你有保底offer吗? #
17836次浏览 171人参与
# 面试___岗的必刷题单 #
8010次浏览 146人参与
# 你经历过哪些AI幻觉? #
3518次浏览 88人参与
# AI面试问题分享 #
9249次浏览 193人参与
# 三月的小目标 #
6694次浏览 129人参与
# 米哈游求职进展汇总 #
577676次浏览 2983人参与
# 实习生的生存小技巧 #
5126次浏览 94人参与
# 找AI工作应该卷什么? #
2392次浏览 51人参与
# 小厂一定不能去吗? #
18761次浏览 148人参与
# 字节开奖 #
129483次浏览 596人参与
# 机械人春招想让哪家公司来捞你? #
387163次浏览 3159人参与
# 说说你知道的学历厂 #
384187次浏览 1362人参与
# 生化医药面经大本营 #
171999次浏览 547人参与
# 关于春招你都做了哪些准备? #
132126次浏览 732人参与
# 实习学到最有价值的工作习惯 #
62320次浏览 478人参与
# 实习想申请秋招offer,能不能argue薪资 #
222770次浏览 1181人参与
# 还记得你第一次面试吗? #
401385次浏览 4232人参与
