AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P3801. 基站维修工程师

中等通过率 70% · 提交 263 · 通过 185
回溯DFS枚举图论

小慕是一名基站维护工程师,负责某区域的基站维护。 某地方有 \(n\) 个基站,\(1 < n < 10\),已知各基站之间的距离 \(s\),\(0 < s < 500\),并且基站 \(x\) 到基站 \(y\) 的距离,与基站 \(y\) 到基站 \(x\) 的距离并不一定会相同。 小慕从基站 \(0\) 出发,途经每个基站 \(1\) 次,然后返回基站 \(0\),需要请你为他选择一条距离最短的路。

提示:带虚线的词点一下有通俗解释。

输入描述

3 // 表示站点数<br /> 0 2 1 // 表示站点0到各站点的路程<br /> 1 0 2 // 表示站点1到各站点的路程<br /> 2 1 0 // 表示站点3到各站点的路程<br />

输出描述

<div data-page-id="FrEfdLy2VoOqstxEOLJc7UFMnxc" data-docx-has-block-data="false"> <div style="white-space-collapse:preserve;" class="ace-line ace-line old-record-id-HIQAdkGigoMm0GxuI0mcdzZznIe"> 最短路程的数值。 </div> </div> <span data-lark-record-data="{"rootId":"FrEfdLy2VoOqstxEOLJc7UFMnxc","text":{"initialAttributedTexts":{"text":{"0":"最短路程的数值。"},"attribs":{"0":"*0+8"}},"apool":{"numToAttrib":{"0":["author","7115054903550050305"]},"nextNum":1}},"type":"text","referenceRecordMap":{},"extra":{"mention_page_title":{},"external_mention_url":{}},"isKeepQuoteContainer":false,"isFromCode":false,"selection":[{"id":9,"type":"text","selection":{"start":0,"end":8},"recordId":"HIQAdkGigoMm0GxuI0mcdzZznIe"}],"payloadMap":{},"isCut":false}" data-lark-record-format="docx/text" class="lark-record-clipboard"></span>

示例

示例 1

输入

3
0 2 1
1 0 2
2 1 0

输出

3

说明:路线为0 -> 2 -> 1 -> 0,距离为所有路线最小 1 + 1 + 1 = 3。如果选择路线0 -> 1 -> 2 -> 0,距离为 2 + 2 + 2 = 6。

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
基站0 基站1 基站2 2 2 2 1 1 1 实线:路线0->1->2->0 总距离=2+2+2=6 虚线:路线0->2->1->0 总距离=1+1+1=3(最短)
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「基站维修工程师」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。