关注
#当时没有考虑n==1的情况,以及判断没有路径的情况, 只有63%
#不知道现在加上能不能ac
def dfs(res,num,fg,i,cnt):
if sum(fg) == 2 and fg[0] == 1 and num[i][0] != -1: #只剩两个城市 ,起点还未到达, 且可以返回起点
res.append(cnt+num[i][0])
return
if fg[0] == 0: #无法回到起点,起点被遍历两遍
return
for kk in range(n):
if num[i][kk] != -1 and fg[kk] > 0: #有路且去向城市未访问过
fg[i] -= 1
dfs(res,num,fg,kk,cnt+num[i][kk]) #
fg[i] += 1
return
n = int(input())
if n ==1: #考虑n==1的情况
print(0)
else:
m = int(input())
num =[[ -1 for i in range(n)] for j in range(n)]
for k in range(m): #构造邻接矩阵
i,j,d = [int(tmp) for tmp in input().split(' ')]
num[i][j] = d
num[j][i] = d
fg = [1]*n #改点是否访问标志
fg[0] = 2 #起点需访问两遍
res = []
dfs(res,num,fg,0,0)
if len(res) == 0: #考虑没有路径的情况
print(-1)
else:
print(min(res))
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
10-10 14:40
湖南文理学院 安卓 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你的秋招白月光和意难平公司 #
22814次浏览 198人参与
# 深信服求职进展汇总 #
238493次浏览 1803人参与
# 百度秋招 #
58471次浏览 396人参与
# 你想跟着什么样领导? #
15200次浏览 145人参与
# 什么样的背景能拿SSP? #
120697次浏览 421人参与
# 十一月总结 #
26827次浏览 254人参与
# 从夯到拉,评价编程语言 #
12702次浏览 102人参与
# 机械人晒出你的简历 #
140029次浏览 863人参与
# 机械人还在等华为开奖吗? #
282889次浏览 1445人参与
# 找实习是选平台还是选业务? #
16992次浏览 186人参与
# 职场上哪些事情令人讨厌 #
28281次浏览 112人参与
# 硬件人秋招进展 #
251559次浏览 3941人参与
# 考研失败就一定是坏事吗? #
153861次浏览 1090人参与
# 巨人网络工作体验 #
69430次浏览 499人参与
# 分享一个让你热爱工作的瞬间 #
49411次浏览 423人参与
# 影石Insta360求职进展汇总 #
163980次浏览 1331人参与
# 应届生进小公司有什么影响吗 #
102437次浏览 1090人参与
# xxx岗位的一天 #
16520次浏览 143人参与
# 哪一瞬间让你觉得工作好累 #
17303次浏览 194人参与
# 毕业季,你想好怎么跟生活对线了吗? #
258319次浏览 3842人参与
# 一人一个landing小技巧 #
134496次浏览 1480人参与

查看15道真题和解析