QOJ.ac

QOJ

Time Limit: 2.0 s Memory Limit: 256 MB Total points: 100

#20002. 随机图中的斯坦纳树

Statistics

给定一张有 $n$ 个顶点的带权图。你的任务是找出一个总权值最小的连通子图,使其包含编号从 $1$ 到 $n-k$ 的所有顶点(包括两端)。

为了让问题更容易求解、测试数据更容易生成,除样例外的所有测试数据均由以下算法生成:

  • 由出题人选择整数 $n$、$m$ 和 $k$。
  • 以随机顺序考虑全部 $\frac{n\cdot(n-1)}{2}$ 条可能的边。
  • 考虑一条边时,如果加入它后,仍能通过加入后续边中的零条或多条,得到一张总边数不超过 $m$ 的连通图,就将其加入图中。
  • 每条边的权值均从区间 $[50,100]$ 中独立、均匀随机地选取一个整数。

输入格式

第一行包含三个整数 $n$($5 \le n \le 100$)、$m$($2\cdot n \le m \le 10\cdot n$)和 $k$($0 \le k \le 30$)。接下来 $m$ 行,每行包含三个整数 $a_i$、$b_i$ 和 $w_i$($1 \le a_i < b_i \le n$,$50 \le w_i \le 100$),表示顶点 $a_i$ 和 $b_i$ 之间有一条权值为 $w_i$ 的边。

保证图中没有自环或重边。此外,保证除样例外的所有测试数据中的图均由上述算法生成。

输出格式

第一行输出一个整数 $c$,表示所选子图的边数。接下来 $c$ 行输出所选的边:每行输出一条边连接的两个顶点的编号。如果存在多个答案,输出其中任意一个。

样例

输入格式 1

5 10 3
1 2 50
1 3 51
1 4 52
1 5 53
2 3 54
2 4 55
2 5 56
3 4 57
3 5 58
4 5 59

输出格式 1

1
1 2

输入格式 2

5 10 2
1 2 100
1 3 100
1 4 57
1 5 56
2 3 100
2 4 54
2 5 53
3 4 52
3 5 51
4 5 50

输出格式 2

3
5 2
5 3
1 5

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.