#P14906. [NHSPC 2024] 數字叢集
[NHSPC 2024] 數字叢集
Description
小明暑假期间在某实验室实习,主要工作就是协助实验室整理大量的实验数据。 实验室累积了许多数据资料,但因设备及管理等问题,小明发现有些数据可能登记错误; 这些记错的数字恰好为原数字的两个位数被互换, 例如数字 被记录成 或者数字 被记成 等等。
小明希望你写出一个程序检查哪些资料有可能被登记错误,具体来说他定义了一个关系函数 , 若 将某两个位数互换后与 相等,则 ;否则 。 举例来说 , 因为 的第一位数和第三位数互换时会变成 ; 但 ,因为交换任何两个位数都无法变成相同的数字。
小明想要将 个相异的非负整数 运用关系函数 来加以分群。 开始时,每一个数字可以自成一群, 对于一个数字 和一个群 , 如果 有一个成员 使得 , 则将 所在的群与 合并,形成更大的群。
小明想知道这些数据可以分成几群,群的个数越小越好,和最大的群有多少数字。请写一个程序帮助小明完成此任务。
Input Format
$$\begin{aligned} &n \\ &a_1 \ a_2 \ \ldots \ a_n \end{aligned}$$- 代表数字的个数。
- 代表第 个想分群的整数。
Output Format
- 代表分群后群的个数。
- 代表分群后最大的群有几个数字。
2
1234 1324
1 2
6
1234 1324 2134 7 3 30
3 3
Hint
数据限制
- 。
- 的位数小于等于 , 个数字皆相异且数字的前面不会有不必要的 (leading zero)。
- 输入的数皆为非负整数。
评分说明
本题共有三组子任务,条件限制如下所示。 每一组可有一或多笔测试资料,该组所有测试资料皆需答对才会获得该组分数。
| 子任务 | 分数 | 额外输入限制 |
|---|---|---|
| 1 | 15 | 且 的位数等于 。 |
| 2 | 28 | 的位数小于等于 。 |
| 3 | 57 | 无额外限制。 |
京公网安备 11011102002149号