关注
第三题 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 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 交出你的校招焚诀 #
5677次浏览 111人参与
# 机械人春招想让哪家公司来捞你? #
387035次浏览 3157人参与
# 神州信息求职进展汇总 #
2729次浏览 50人参与
# 实习生至暗时刻 #
11557次浏览 239人参与
# 哪些公司开暑期实习了? #
11688次浏览 103人参与
# 面试___岗的必刷题单 #
7481次浏览 141人参与
# 春招开局,你有保底offer吗? #
17063次浏览 167人参与
# 你经历过哪些AI幻觉? #
3341次浏览 86人参与
# AI面试问题分享 #
8912次浏览 190人参与
# 实习学到最有价值的工作习惯 #
62247次浏览 478人参与
# 三月的小目标 #
6345次浏览 123人参与
# 说说你知道的学历厂 #
384112次浏览 1361人参与
# 实习生的生存小技巧 #
4915次浏览 92人参与
# 你认为哪些项目算烂大街? #
84222次浏览 640人参与
# 找AI工作应该卷什么? #
2296次浏览 51人参与
# 实习吐槽大会 #
413201次浏览 2174人参与
# 小厂一定不能去吗? #
18008次浏览 145人参与
# 秋招的嫡长offer #
405997次浏览 2187人参与
# 一汽大众工作体验 #
14672次浏览 26人参与
# 字节开奖 #
129165次浏览 595人参与
# 如果校招重来我最想改变的是 #
379411次浏览 3234人参与
