UOJ Logo Universal Online Judge

UOJ

#81. 一般图最大权匹配

附件下载 统计

从前一个和谐的班级,所有人都是搞OI的。有 $n$ 个是男生,有 $0$ 个是女生。男生编号分别为 $1, \dots, n$。

现在老师想把他们分成若干个两人小组写动态仙人掌,一个人负责搬砖另一个人负责吐槽。每个人至多属于一个小组。

有若干个这样的条件:第 $v$ 个男生和第 $u$ 个男生愿意组成小组,并能写出 $w$ 万万行的代码。

请问这个班级里的动态仙人掌的总代码量最多是多少?

输入格式

第一行两个正整数,$n, m$。保证 $n \geq 2$。

接下来 $m$ 行,每行三个整数 $v, u, w$ 表示第 $v$ 个男生和第 $u$ 个男生愿意组成小组,且能写出 $w$ 万万行的代码。保证 $1 \leq v, u \leq n$,保证 $v \neq u$,保证同一对 $v, u$ 不会出现两次(这里是无序对)。

输出格式

第一行一个整数,表示总代码量最多是多少(单位是万万行)。

接下来一行 $n$ 个整数,描述一组最优方案。第 $v$ 个整数表示 $v$ 号男生所在小组的另一个男生的编号。如果 $v$ 号男生没有小组请输出 $0$。

样例一

input

7 20
5 7 9
3 7 4
3 6 6
2 5 8
5 1 9
1 3 6
6 5 1
2 7 4
2 3 5
6 4 2
7 1 5
5 4 4
4 1 3
5 3 9
7 6 4
2 1 3
4 3 9
6 2 7
4 2 8
6 1 10

output

28
6 0 4 3 7 1 5

限制与约定

$1 \leq n \leq 400$,$1 \leq m \leq 79800$,$1 \leq w \leq 5 \times 10^8$。

时间限制:$2\texttt{s}$

空间限制:$256\texttt{MB}$

下载

样例数据下载