F. 【拓展题】消息传递

    传统题 1000ms 256MiB

【拓展题】消息传递

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

问题描述

nn 个人通过手机消息互相联系,他们之间的联系是单向的
有的人可以发消息给别人,但别人不一定能回。

给出一份列表 messagesmessages,其中每一项是
messages[i]=(a,b,t)messages[i] = (a, b, t),表示第 aa 个人给第 bb 个人发消息需要 tt 个时间单位。

某天,第 SS 个人最先发出一条消息,这条消息会通过这些联系慢慢传给别人。
请计算:要多久,所有人都能收到这条消息?
如果有的人永远收不到消息,就输出 -1


输入输出格式

第一行为3个整数,n,m,S,分别表示有n个节点、m个边、从第S个人开始发信息

从第二行开始为messages[i]

数据范围

$1<=k <=n <=100\\ 1 <= messages.length <= 6000\\ messages[i].length == 3\\ 1 <= a_i, b_i <=n\\a_i != b_i\\0 <= t_i <=100$

测试样例

输入:

4 3 2
2 1 1
2 3 1
3 4 1

输出:

2

实验六 图的最短路径与最小生成树算法

未认领
状态
已结束
题目
6
开始时间
2025-10-31 18:30
截止时间
2025-11-2 18:30
可延期
120 小时