关注
第三题: void helper(int idx, int nums, int &res, int cur, vector<vector<pair<int, int>>> &neigh, vector<bool> &flag) { if (idx == 0 && flag[idx] == true) { if (nums == flag.size()) res = min(res, cur); return; } for (int i = 0; i < neigh[idx].size(); i++) { if (flag[neigh[idx][i].first] == false) { flag[neigh[idx][i].first] = true; helper(neigh[idx][i].first, nums + 1, res, cur + neigh[idx][i].second, neigh, flag); flag[neigh[idx][i].first] = false; } } } int main() { int n, m; cin >> n >> m; if (n == 1) { cout << 0 << endl; return 0; } vector<vector<pair<int, int>>> neigh(n); while (m--) { int a, b, t; cin >> a >> b >> t; neigh[a].push_back(make_pair(b, t)); neigh[b].push_back(make_pair(a, t)); } vector<bool> flag(n, false); int res = INT_MAX; helper(0, 0, res, 0, neigh, flag); if (res == INT_MAX) cout << -1 << endl; else cout << res << endl; system("pause"); return 0; }
查看原帖
点赞 6
相关推荐

点赞 评论 收藏
分享

点赞 评论 收藏
分享
02-19 13:42
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 如果中了500万,你会离职吗? #
55353次浏览 383人参与
# 技术岗笔试题求解 #
14959次浏览 218人参与
# 腾讯音乐26届实习 #
112116次浏览 784人参与
# 牛友故事会 #
153451次浏览 2519人参与
# 双非应该如何逆袭? #
15780次浏览 660人参与
# 你投递的公司有几家约面了? #
52373次浏览 366人参与
# 腾讯2025实习生招聘 #
14460次浏览 601人参与
# 两会劳动法放大招 #
13348次浏览 367人参与
# 我的省钱小妙招 #
3668次浏览 133人参与
# 打工人的精神状态 #
24344次浏览 415人参与
# 怎么防止在试用期被辞退 #
108761次浏览 844人参与
# 实习/项目/竞赛奖项,哪个对找工作更重要? #
46356次浏览 616人参与
# 携程求职进展汇总 #
175424次浏览 1174人参与
# 秋招盘点:机械人值得去的企业 #
63459次浏览 648人参与
# 电网笔面经互助 #
28255次浏览 291人参与
# 如果公司降薪,你会跳槽吗? #
50509次浏览 410人参与
# 你是如何准备春招的? #
20719次浏览 155人参与
# 机械人值得去的半导体企业 #
15991次浏览 152人参与
# 新凯来求职进展汇总 #
11808次浏览 61人参与
# 新年的第一句祝福 #
29801次浏览 362人参与
# 虾皮求职进展汇总 #
197359次浏览 1281人参与
# 你小时候最想从事什么职业 #
73470次浏览 1379人参与