Problem3076--带宽[Bandwidth,UVa140]

3076: 带宽[Bandwidth,UVa140]

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 0  Solved: 0
[Status] [Submit] [Creator:]

Description

给出一个有n(n≤8)个节点的图和一个结点的排列。结点i的带宽bi的定义为结点i和相邻结点在排列中的最远距离,而所有bi的最大值就是整个图的带宽。
例如,给出如下的图:

此图可以给出多种排序,其中两个排序,图示如下:

左图中各个节点的带宽分别为:6,6,1,4,1,1,6,6,那么排列的带宽为6
右图中各个节点的带宽分别为:5,3,1,4,3,5,1,4,那么排列的带宽是5
写出一个程序,给定一个图,求出该图的一种排序使其带宽最小。

Input

输入多行,每行代表一个图,当一行是一个单独的“#”时,代表输入结束。
对于每个图的输入,都包含一系列由“;”隔开的记录,每个记录包含一个结点名,接着是一个“:”,然后是这个结点的邻居结点名,都用大写字母表示,范围是“A”到“Z”。每个图的结点数都不会超过8个。

Output

对于输入的每一图输出一行,列出排序的结点,然后是一个箭头(->),然后是该排序的带宽值,所有项用空格隔开(如样例所示)。如果同一个带宽有多种排序方法,取字母序最小的一种排序。

Sample Input Copy

A:FB;B:GC;D:GC;F:AGH;E:HD
#

Sample Output Copy

A B C F G D H E -> 3

Source/Category