关注
#当时没有考虑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
相关推荐
查看16道真题和解析 点赞 评论 收藏
分享
Java抽象带篮子_...:可以看看我发的速成帖子,里面详细写了怎么速成,简历怎么写
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 交出你的校招焚诀 #
10235次浏览 173人参与
# 27届求职交流 #
2385次浏览 71人参与
# 神州信息求职进展汇总 #
3574次浏览 68人参与
# 实习生至暗时刻 #
17964次浏览 341人参与
# 26届求职交流 #
2272次浏览 54人参与
# 面试___岗的必刷题单 #
11993次浏览 210人参与
# 你的秋招第一面感觉怎么样 #
140542次浏览 806人参与
# 经纬恒润求职进展汇总 #
153250次浏览 1080人参与
# 三月的小目标 #
10764次浏览 193人参与
# 哪些公司开暑期实习了? #
17020次浏览 139人参与
# AI面试问题分享 #
12993次浏览 264人参与
# 你经历过哪些AI幻觉? #
4978次浏览 119人参与
# 春招开局,你有保底offer吗? #
24763次浏览 202人参与
# 公司情报交流地 #
144520次浏览 1274人参与
# 找AI工作应该卷什么? #
3918次浏览 71人参与
# 米哈游求职进展汇总 #
584110次浏览 2999人参与
# 实习想申请秋招offer,能不能argue薪资 #
224767次浏览 1195人参与
# 实习生的生存小技巧 #
6792次浏览 109人参与
# 24届的你们现状如何了? #
112522次浏览 523人参与
# 字节开奖 #
130647次浏览 602人参与
# 硬件/芯片公司工作体验 #
155051次浏览 976人参与

