[DTCPC 2024] 平方树
题目描述
给你一个森林,每条边有一个方向。
你可以进行两种操作:
- 新增一个点。
- 将两个点之间连一条有向边。
你要使得最后将所有有向边看成无向边后,图形成一棵树,且每个点的出度都是平方数。
给出一种新增点数最少的方案。
输入输出格式
输入格式
第一行两个整数 $n,m$($1\le m \lt n \le 10^5$)表示这个森林的点数和边数。
接下来 $m$ 行,每行两个数 $u,v$($1\le u,v\le n$)表示一条 $u$ 连向 $v$ 的有向边。
保证将每条边看作无向边后,这张图是森林。
输出格式
第一行两个整数 $x,y$ 表示你的新增点数和连边数。
接下来 $y$ 行,每行两个数 $u,v$ 表示新增一条 $u$ 连向 $v$ 的有向边,你要保证 $1\le u,v\le n+x$。
输入输出样例
输入样例 #1
3 2
1 2
1 3
输出样例 #1
2 2
1 4
1 5