#P16324. [Ucpc2024初赛]Two trees, twelve forests
[Ucpc2024初赛]Two trees, twelve forests
题目描述
给定一个由编号 到 的 个顶点和 条边组成的带权无向简单图 ,定义它的森林分数如下。
- 令 均为包含顶点 、但初始没有任何边的图。
- 将 的边按权值从小到大排列为 。依次处理 :
- 找到最小的正整数 ,使得把 加入 后不会产生环;
- 将 加入 。
- 至少包含一条边的 中,最大的下标 称为图 的森林分数。
现在给定一个正整数 ,请构造一个森林分数恰好为 、且顶点数不超过 的图 。
除此之外,构造还必须满足:
- 若图的顶点数为 ,则边数必须恰好为 ;
- 可以把其中 条边染成红色、另外 条边染成蓝色,使得只保留红边时得到一棵树,只保留蓝边时也得到一棵树。
输入格式
第一行包含一个整数 。
输出格式
第一行输出图 的顶点数 。
接下来输出 行。第 行输出三个整数 ,表示存在一条连接顶点 与 、权值为 的边。
$$1\le a_i,b_i\le N, \qquad a_i\ne b_i, \qquad 1\le c_i\le 10^9$$输出必须满足以下条件:
- 所有边的权值两两不同;
- 输出的前 条边构成一棵树;
- 输出的后 条边也构成一棵树;
- 任意一对顶点之间至多有一条边;
- 图 的森林分数恰好为 。
样例
输入
3
输出
5
1 2 8
2 3 1
3 4 2
4 5 5
1 3 6
3 5 4
5 2 7
2 4 3
样例说明
下面给出了 时的一组合法答案。

该图可以分成两棵没有公共边的生成树。

按定义计算森林分数时,红、蓝、绿边分别表示被分配到 的边,因此森林分数为 。

本题答案不唯一。部署到在线评测系统时需要使用 SPJ 验证输出图。