QOJ.ac

QOJ

时间限制: 1 s 内存限制: 128 MB 总分: 100

#1938. 网络混乱

统计

Gilbert 是 Ginkgo 公司的网络管理员。他的老板对地板上杂乱的网络线缆感到非常恼火。最终,他找到 Gilbert,要求这位懒惰的网络管理员说明计算机和交换机是如何连接的。由于他是一名程序员,他非常不情愿在办公室里走来走去,用眼睛去检查线缆和交换机。相反,他选择通过测量和一点数学思维来完成这项工作,一直坐在电脑前。你的任务是通过编写一个程序,根据测量结果重建网络拓扑结构,来帮助他。

已知计算机的数量是确定的,而交换机的数量是未知的。每台计算机通过一根线缆连接到其中一个交换机,且不连接其他任何设备。具体来说,计算机永远不会直接连接到另一台计算机,也不会连接到两个或更多的交换机。交换机通过线缆连接形成一棵树(一个没有环的连通无向图)。没有“无用”的交换机。换句话说,每个交换机都位于至少一对计算机之间的路径上。

总而言之,计算机和交换机共同构成了一棵树,其中叶子节点是计算机,内部节点是交换机(见图 9)。

图 9:计算机和交换机

Gilbert 测量了所有计算机对之间的距离。两台计算机之间的距离简单地定义为它们路径上的交换机数量加一。或者等价地,它是连接它们所使用的线缆数量。你可能想知道 Gilbert 如何仅凭测量就能获得这些距离。好吧,他通过一种他发明的非常复杂的统计处理技术做到了这一点。请不要询问细节。

因此,你将获得一个描述树的叶子节点之间距离的矩阵。你的工作是从中构建出这棵树。

输入格式

输入是一系列距离矩阵,后跟一行仅包含 '0' 的行。每个距离矩阵的格式如下:

$N$ $a_{11} \quad a_{12} \quad \dots \quad a_{1N}$ $a_{21} \quad a_{22} \quad \dots \quad a_{2N}$ $\vdots \quad \vdots \quad \ddots \quad \vdots$ $a_{N1} \quad a_{N2} \quad \dots \quad a_{NN}$

$N$ 是矩阵的大小,即行数和列数。$a_{ij}$ 给出了第 $i$ 个叶子节点(计算机)和第 $j$ 个叶子节点之间的距离。你可以假设 $2 \le N \le 50$,且矩阵是对称的,其对角线元素均为零。即对于每个 $i$ 和 $j$,都有 $a_{ii} = 0$ 且 $a_{ij} = a_{ji}$。每个非对角线元素 $a_{ij}$ ($i \neq j$) 满足 $2 \le a_{ij} \le 30$。你可以假设总是有解的。也就是说,存在一棵具有给定叶子节点间距离的树。

输出格式

对于每个距离矩阵,找到一棵具有给定叶子节点间距离的树。然后输出每个内部节点的度数(即连接到每个交换机的线缆数量),所有度数应在同一行中按升序排列。行内的数字应由单个空格分隔。一行不应包含任何其他字符,包括行尾空格。

样例

输入 1

4
0 2 2 2
2 0 2 2
2 2 0 2
2 2 2 0
4
0 2 4 4
2 0 4 4
4 4 0 2
4 4 2 0
2
0 12
12 0
0

输出 1

4
2 3 3
2 2 2 2 2 2 2 2 2 2 2

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.