关注
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
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 2025秋招体验点评 #
18169次浏览 163人参与
# 哪些公司真双非友好? #
45326次浏览 207人参与
# 京东开奖 #
526469次浏览 2848人参与
# 你听到的“最没用”的秋招建议 #
3706次浏览 38人参与
# 薪资要看总包还是月薪? #
5605次浏览 75人参与
# 什么样的公司千万别去 #
5076次浏览 38人参与
# 联影求职进展汇总 #
74828次浏览 428人参与
# 如果公司给你放一天假,你会怎么度过? #
26020次浏览 147人参与
# 校招阶段,学历VS技术哪个更重要? #
51971次浏览 335人参与
# 工作以后,你父母对你啥态度 #
2159次浏览 37人参与
# 你在职场上见过哪些“水货”同事 #
7921次浏览 62人参与
# 找工作,行业重要还是岗位重要? #
81326次浏览 1656人参与
# 欣旺达工作体验 #
18575次浏览 43人参与
# 你觉得找工作该拿大厂还是小厂练手 #
218666次浏览 1792人参与
# 通信硬件知识分享 #
38309次浏览 524人参与
# 联影医疗求职进展汇总 #
30019次浏览 126人参与
# 简历无回复,你会继续海投还是优化再投? #
108548次浏览 832人参与
# 材料专业就业可以去哪些企业岗位 #
47082次浏览 368人参与
# 外包能不能当跳板? #
51128次浏览 250人参与
# 2023届毁约公司名单 #
224136次浏览 1048人参与
# 校招薪资来揭秘 #
12395次浏览 53人参与
小天才公司福利 1182人发布