CF1423N BubbleSquare Tokens

题目描述

BubbleSquare 社交网络正在庆祝其第 $13$ 周年纪念日,并为其成员发放特别版 BubbleSquare 代币。每位成员都会收到一个个人代币。此外,每位成员每有一个好友,还会额外获得两个代币。然而,这里有一个要求——每个人最终获得的代币数量必须与所有好友都不同。每位成员可以退回一枚收到的代币。此外,每对好友可以协商,各自退回一枚或两枚因他们的友谊而获得的代币。

输入格式

输入的第一行包含两个整数 $n$ 和 $k$($2 \leq n \leq 12500$,$1 \leq k \leq 1000000$),分别表示网络中的成员数和好友关系数。 接下来的 $k$ 行,每行包含两个整数 $a_i$ 和 $b_i$($1 \leq a_i, b_i \leq n$,$a_i \neq b_i$),表示成员 $a_i$ 和 $b_i$ 是好友。

输出格式

输出的第一行应为保留个人代币的成员数量。 第二行应为保留个人代币的成员编号,编号之间用空格分隔。 接下来的 $k$ 行,每行包含三个用空格分隔的数字,表示一对好友以及他们各自因这段友谊获得的代币数量。

说明/提示

在第一个测试用例中,只有第一位成员保留了个人代币,并且第一位和第二位成员之间的友谊没有发放任何代币。 在第二个测试用例中,没有成员保留个人代币。第一位成员因与第三位成员的友谊获得了两枚代币,第二位成员因与第三位成员的友谊获得了一枚代币,第三位成员因与第一位和第二位成员的友谊分别获得了三枚代币。 由 ChatGPT 4.1 翻译