在线OJ
已购买本专栏用户,请私信博主开通账号,在线刷题!!!
在线OJ:立即刷题
题库专栏:2023华为OD机试(A卷+B卷)(C++JavaJSPy)
题目描述
某通信网络中有N个网络结点,用1到N进行标识。
网络中的结点互联互通,且结点之间的消息传递有时延,相连结点的时延均为一个时间单位。
现给定网络结点的连接关系link[i]={u,v},其中u和v表示网络结点。
当指定一个结点向其他结点进行广播,所有被广播结点收到消息后都会在原路径上回复一条响应消息,请计算发送结点至少需要等待几个时间单位才能收到所有被广播结点的响应消息。
注:
- N的取值范围为[1,100];
- 连接关系link的长度不超过3000,且1 <= u,v <= N;
- 网络中任意结点间均是可达的;
输入描述
输入的第一行为两个正整数,分别表示网络结点的个数N,以及时延列表的长度T;
接下来的T行输入,表示结点间的连接关系列表;
最后一行的输入为一个正整数,表示指定的广播结点序号;
输出描述
输出一个整数,表示发送结点接收到所有响应消息至少需要等待的时长。
ACM输入输出模式
如果你经常使用Leetcode,会知道letcode是不需要编写输入输出函数的。但是华为OD机考使用的是 ACM 模式,需要手动编写输入和输出。
所以最好在牛-客上提前熟悉这种模式。例如C++使用cin/cout
,python使用input()/print()
。JavaScript使用node的readline()
和console.log()
。Java 使用sacnner/system.out.print()
用例
输入 | 5 7 1 4 2 1 2 3 2 4 3 4 3 5 4 5 2 |
输出 | 4 |
说明 | 结点2到5的最小时延为2,到剩余结点的最小时延均为1,所以至少要等待2*2=4s。 |