QOJ.ac

QOJ

Límite de tiempo: 1 s Límite de memoria: 1024 MB Puntuación total: 100

#6745. 删除树

Estadísticas

给定一个包含 $n$ 个顶点(编号从 $1$ 到 $n$)和 $n-1$ 条边的图。保证初始时任意两点之间均可达,即该图实际上是一棵树。你非常讨厌树,所以决定删掉它!

然而,你只允许执行以下操作:选择一些当前存在的顶点。这些被选中的顶点之间不能有边相连。对于每个被选中的顶点 $v$,在 $v$ 的所有当前邻居之间添加边(当且仅当存在连接 $u$ 和 $v$ 的边时,称顶点 $u$ 是 $v$ 的邻居),然后删除被选中的顶点及其所有关联边(当且仅当 $v$ 是边 $e$ 的端点之一时,称边 $e$ 与 $v$ 关联)。可以证明,在每次操作中,对被选中的顶点执行上述操作的顺序不会影响结果。同时请注意,该操作可能会在图中引入重边。

你最多可以执行此操作 $10$ 次。请输出一个操作序列,使得所有顶点在操作后都被删除。如果存在多种可能的操作序列,输出任意一种即可。可以证明至少存在一种可行的操作方案。

输入格式

第一行包含一个整数 $n$ ($3 \le n \le 500$),表示初始图中的顶点数。

接下来 $n-1$ 行,第 $i$ 行 ($1 \le i \le n-1$) 包含两个整数 $x_i, y_i$ ($1 \le x_i < y_i \le n$),表示初始图中连接顶点 $x_i$ 和 $y_i$ 的一条边。

保证对于任意 $1 \le i < j < n$,满足 $x_i \neq x_j$ 或 $y_i \neq y_j$。

输出格式

第一行包含一个整数 $m$,表示操作次数。你需要确保 $0 \le m \le 10$。

接下来 $m$ 行,第 $i$ 行描述第 $i$ 次操作:第一个整数 $k$ 表示该次操作中选中的顶点数量,随后是同一行中用空格分隔的 $k$ 个不同的整数,表示该次操作中选中的顶点标签。

样例

输入 1

5
1 2
1 3
1 4
4 5

输出 1

4
2 1 5
1 2
1 4
1 3

说明

第一个样例输出对应的操作过程如下所示。

第一步操作前,图的形态如下:

第一步操作后,图的形态如下:

第二步操作后,图的形态如下:

第三步操作后,图的形态如下:

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#160EditorialOpen题解jiangly2025-12-12 23:43:17View

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.