CF107A Dorm Water Supply

题目描述

给出一组 $n$ 个点,$m$ 条边的有向图,边带权。保证每个点的出度和入度最多为 $1$ 对于每一个入度为 $0$,出度为 $1$ 的点,我们在该点建一个水箱 对于每一个入度为 $1$,出度为 $0$ 的点,我们在该点建一个水龙头 可以发现,每一个水箱对应一个唯一的水龙头,我们将每对对应的水龙头和水箱称为一个 水器组 请求出每一个水箱到他对应的水龙头的路径上的边权最小值

输入格式

第一行两个整数 $n,m$,分别表示点数和边数 接下来 $m$,行,每行三个整数 $u,v,len$ 表示有一条 $u$ 指向 $v$ 的,长度为 $len$ 的有向边

输出格式

第一行一个整数 $k$,表示水器组的个数 接下来 $k$ 行,每行三个正整数 $x,y,c$ ,$(x \ne y)$ ,表示一对水器组:$x$ 为水箱所在节点, $y$ 为水龙头所在节点,$c$ 为 $x$ 到 $y$ 的路径上的边权最小值

说明/提示

$1 \le n \le 1000$ $0 \le m \le n$ 边权不超过 $10^6$ 注意水龙头和水箱不能建在同一个节点上 感谢 @[_Wolverine](https://www.luogu.com.cn/user/120362) 提供的翻译