第三题事后想的代码,python,没测试过考场用例 n = 5 k=4 edges = [[0,1,3],[0,2,1],[0,3,2],[2,4,1]] graph = [[] for _ in range(n)] for edge in edges: graph[edge[0]].append([edge[1],edge[2]]) graph[edge[1]].append([edge[0],edge[2]]) global res res = 0 def find(node1,node2,parent,cur_sum): global res for nn in graph[node1]: node = nn[0] dis = nn[1] if node==parent: continue if node==node2: cur_sum+=dis if cur_sum<=k: res+=1 break else: find(node,node2,node1,cur_sum+dis) for i in range(n): for j in range(i+1,n): find(i,j,-1,0) print(res)
点赞 评论

相关推荐

不愿透露姓名的神秘牛友
06-04 17:35
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务