关注
第三题 0.9 代码
import heapq
T=int(input().strip())
for _ in range(T):
n=int(input().strip())
x,y=0,0
graph={(0,0)}
for i in range(n):
a,b=map(int,input().strip().split())
if b==1:
dx=dy=0
if a==0: dx=-1
elif a==1: dx=1
elif a==2: dy=-1
else:dy=1
x,y=x+dx,y+dy
graph.add((x,y))
if i==n-1:
end=(x,y)
stack=[(0,(0,0))]
used={(0,0)}
while stack:
dis,point=heapq.heappop(stack)
if point==end:
print(dis)
break
for dx,dy in ((-1,0),(1,0),(0,-1),(0,1)):
temp=(point[0]+dx,point[1]+dy)
if temp not in used and temp in graph:
used.add(temp)
heapq.heappush(stack,(dis+1,temp))
查看原帖
1 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
01-16 11:50
浙江工商大学 Java 点赞 评论 收藏
分享
01-07 17:13
广州大学 前端工程师 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客吐槽大会 #
28341次浏览 332人参与
# 一份好的简历长什么样? #
23781次浏览 437人参与
# 春节前,你还在投简历吗? #
741次浏览 24人参与
# 材料专业就业可以去哪些企业岗位 #
55134次浏览 379人参与
# 春招什么时候投? #
195次浏览 8人参与
# 春节提前走,你用什么理由请假? #
550次浏览 18人参与
# 一上班就想____,这正常吗? #
17452次浏览 147人参与
# 设计人秋招体验最好的公司 #
81019次浏览 735人参与
# 招聘要求与实际实习内容不符怎么办 #
166436次浏览 922人参与
# 你觉得机械有必要实习吗 #
73567次浏览 487人参与
# 找实习多的是你不知道的事 #
1790419次浏览 20673人参与
# 刚入职就____,这样正常吗? #
127533次浏览 670人参与
# 机械人选offer,最看重什么? #
158574次浏览 798人参与
# 设计人的面试记录 #
187563次浏览 1607人参与
# 我的秋招总结 #
280579次浏览 4334人参与
# 校招入职后的感受 #
478994次浏览 3664人参与
# 为了减少AI幻觉,你注入过哪些设定? #
8803次浏览 226人参与
# 在大厂上班是一种什么样的体验 #
17080次浏览 238人参与
# 机械人避雷的岗位/公司 #
45466次浏览 321人参与
# 正在实习的你,有转正机会吗? #
480633次浏览 3071人参与


