QOJ.ac

QOJ

總分: 100 僅輸出

#327. 素数树

统计

树是一个无环的连通无向图。考虑一棵有 $n$ 个顶点的树,顶点标号为 $1, 2, \dots, n$。如果一条边 $(u, v)$ 满足存在一个整数 $d > 1$,使得 $u$ 的标号和 $v$ 的标号都能被 $d$ 整除,则称该边为“坏边”。例如,在下方的树中,有三条坏边:$(6, 4)$ 均能被 $2$ 整除,$(2, 6)$ 均能被 $2$ 整除,$(3, 6)$ 均能被 $3$ 整除:

你的目标是重新标记树的顶点,使得坏边的数量尽可能少。例如,如果你将上述树的顶点按如下方式重新标记,则只会存在一条坏边 $(3, 6)$:

树中的坏边越少,你获得的分数就越高。

这是一个仅输出答案的问题。PCMS 中提供了 10 个输入文件。你需要在本地运行你的程序,并仅提交每个输入文件对应的答案文件。

输入格式

每个输入文件包含多个测试用例。 输入文件的第一行包含该输入文件中的测试用例数量。 每个测试用例描述的第一行包含一个整数 $n$,即树的顶点数。 接下来的 $n - 1$ 行,每行包含两个整数 $u$ 和 $v$ ($1 \le u, v \le n$),表示由边连接的两个顶点。 单个文件中的所有树具有相同的顶点数。

输出格式

对于每个测试用例,输出一行,包含 $n$ 个不同的整数,范围从 $1$ 到 $n$,表示分配给顶点 $1, 2, \dots, n$ 的标号。

子任务

对于每个输入文件,设该输入文件中所有测试用例的边总数为 $M$,你的解中坏边的总数为 $X$,且 $R = \frac{X}{M}$。该输入文件的得分计算如下:

  • 若 $R > 0.4$,得分为 $0$;
  • 若 $0.33 < R \le 0.4$,得分为 $1$;
  • 若 $0.26 < R \le 0.33$,得分为 $2$;
  • 若 $0.19 < R \le 0.26$,得分为 $3$;
  • 若 $0.12 < R \le 0.19$,得分为 $4$;
  • 若 $0.05 < R \le 0.12$,得分为 $5$;
  • 若 $0.01 < R \le 0.05$,得分为 $6$;
  • 若 $0.005 < R \le 0.01$,得分为 $7$;
  • 若 $0.001 < R \le 0.005$,得分为 $8$;
  • 若 $0 < R \le 0.001$,得分为 $9$;
  • 若 $R = 0$,得分为 $10$。

样例

输入 1

2
6
1 3
3 5
3 6
6 4
6 2
6
1 2
1 3
1 4
1 5
1 6

输出 1

2 5 3 1 4 6
5 1 2 3 4 6

说明

第一个测试用例即题目描述中展示的例子。重新标记后存在一条坏边 $(6, 3)$,因为 $6$ 和 $3$ 都能被 $3$ 整除。 在第二个测试用例中,存在的边为 $(5, 1), (5, 2), (5, 3), (5, 4)$ 和 $(5, 6)$。它们都不是坏边。 输入文件中共有 $10$ 条边,答案中有 $1$ 条坏边。因此 $M = 10, X = 1, R = 0.1$。根据评分表,该答案可得 $5$ 分。

测试数据结构如下:

  • 输入文件 1 包含三棵 7 个顶点的树,如下图所示(从左至右):
  • 输入文件 2 和 3 分别包含 100 棵 10 个顶点和 30 个顶点的随机树。
  • 输入文件 4 到 8 包含各种具有特殊结构的随机生成树(例如多叶树、二叉树等)。不同种类树的分布在所有输入中大致相同。
  • 输入文件 9 和 10 分别包含 50,000 个顶点和 100,000 个顶点的随机生成树。

初始时,所有输入文件中所有树的顶点标号均为随机。


或者逐个上传:

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.