关注
第三题 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 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客新年AI问运 #
8290次浏览 116人参与
# 你喜欢工作还是上学 #
89466次浏览 883人参与
# 牛客AI体验站 #
16628次浏览 291人参与
# 被AI治愈的瞬间 #
90675次浏览 685人参与
# 你找工作的时候用AI吗? #
173344次浏览 888人参与
# 有必要和同事成为好朋友吗? #
1290次浏览 26人参与
# 如何提高实习转正率? #
87074次浏览 510人参与
# 听劝,这个公司值得去吗 #
665533次浏览 1996人参与
# 你觉得什么岗位会被AI替代 #
41188次浏览 276人参与
# 为了秋招你都做了哪些准备? #
32620次浏览 534人参与
# 机械人的薪资开到多少,才适合去? #
165165次浏览 573人参与
# 你最满意的offer薪资是哪家公司? #
71518次浏览 355人参与
# 这个工作能去吗 #
115212次浏览 662人参与
# 多益网络工作体验 #
63314次浏览 306人参与
# 工作中的卑微时刻 #
33573次浏览 199人参与
# 秋招吐槽大会 #
304778次浏览 1524人参与
# 央国企投递记录 #
177068次浏览 1655人参与
# 国央企求职进展汇总 #
442719次浏览 3509人参与
# 数字马力求职进展汇总 #
331747次浏览 2381人参与
# 你已经投递多少份简历了 #
1353014次浏览 10821人参与
