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

P3701. 最长广播响应

中等通过率 67% · 提交 143 · 通过 96
BFS图论最短路

小慕正在设计一个通信网络系统,这个系统里有N个网络节点,编号从1到N。 网络中的节点之间可以互相通信,但消息从一个节点传到另一个相连的节点需要花费1个时间单位。 现在,小慕已经知道了节点之间的连接关系,用link[i] = {u, v}表示,其中u和v是相互连接的两个网络节点。 当小慕指定某个节点向其他所有节点发送广播消息时,每个收到广播的节点都会沿着原来的路径回复一条响应消息。小慕想知道,发送广播的节点最少需要等待多少个时间单位,才能收到所有被广播节点的回复。 注意: 1. N的取值范围是[1, 100]; 2. 连接关系link的长度不超过3000,且1 ≤ u, v ≤ N; 3. 网络中任意两个节点之间都是可达的。

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

输入描述

<p> 第一行输入两个数字,N和M,用空格隔开。N表示连通图一共有N个节点,M表示连通图一共有M条边。 </p> <p> 接下来输入M行,包含两个数字v1和v2,表示v1和v2相连。 </p> <p> 最后一行输入一个数字,表示指定节点。 </p>

输出描述

一个数字,表示从指定节点出发,广播所有节点所需要的时间。

示例

示例 1

输入

5 7
1 4
2 1
2 3
2 4
3 4
3 5
4 5
2

输出

4

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

看不懂题目?点开图解
广播响应示例(节点2广播) 1 2 3 4 5 广播源 1 1 1 2 2 1 最远节点(4或5)距离为2,来回需4个单位时间 答案:4
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「最长广播响应」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。