草地排水
题号:NC22961
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

在农夫约翰的农场上,每逢下雨,贝茜最喜欢的三叶草地就积聚了一潭水。这意味着草地被水淹没了,并且小草要继续生长还要花相当长一段时间。因此,农夫约翰修建了一套排水系统来使贝茜的草地免除被大水淹没的烦恼(不用担心,雨水会流向附近的一条小溪)。作为一名工程师,农夫约翰也在每条沟渠的开始安装了调节器,这样他就可以控制水流入沟渠的速度。
农夫约翰知道每一条排水沟每分钟可以流过的水量,和排水系统的准确布局(起点为水潭而终点为小溪的一张网)。需要注意的是,有些时候从一处到另一处不只有一条排水沟。
根据这些信息,计算从水潭排水到小溪的最大流量。对于给出的每条排水沟,雨水只能沿着一个方向流动,注意可能会出现雨水环形流动的情形。

输入描述:

第1行:两个用空格分开的整数N (0<= N <= 200)和M (2 <= M <=200)。N是农夫约翰已经挖好的排水沟的数量,M是排水沟交叉点的数量。交点1是水潭,交点M是小溪。

第二行到第N+1行:每行有三个整数,Si, Ei,和Ci。Si和Ei (1 <= Si, Ei <= M)指明排水沟两端的交点,雨水从Si流向Ei。Ci (0 <= Ci<= 10,000,000)是这条排水沟的最大容量。

输出描述:

输出一个整数,即排水的最大流量。
示例1

输入

复制
5 4
1 2 40
1 4 20
2 4 20
2 3 30
3 4 10

输出

复制
50