#P1523. SPF

SPF

描述

考虑以下两个网络。假设数据仅在这些网络中直接连接的节点之间以点对点方式传输,如果左侧网络中的某个节点(例如节点33)发生故障,将导致部分仍可用的节点之间无法通信。此时,节点1122仍可通信,节点4455也可通信,但其他任意节点对之间的通信将无法进行。

因此,节点33是该网络的单点故障(Single Point of Failure, SPF)。严格来说,SPF是指如果该节点不可用,将导致至少一对原本可以通信的可用节点无法通信的节点。注意,右侧的网络没有这样的节点,即该网络不存在SPF。至少需要两个节点失效,才会导致某些可用节点对无法通信。

输入

输入包含多个网络的描述。每个网络的描述由若干行整数对组成,每行表示一对相连的节点。节点对的顺序无关,例如1 21\ 22 12\ 1表示同一条连接。所有节点编号的范围为1110001000。单个00表示当前网络的连接列表结束。一个空的网络描述表示输入结束。输入文件中的空行应被忽略。

输出

对于每个网络,首先输出其在文件中的编号(如“Network #1”),然后列出所有存在的SPF节点。

对于每个SPF节点,输出一行,格式如下例所示,标明该节点以及该节点失效后剩余的全连接子网数量。如果网络中没有SPF节点,则直接输出“No SPF nodes”。

输入样例 1

1 2
5 4
3 1
3 2
3 4
3 5
0

1 2
2 3
3 4
4 5
5 1
0

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

0

输出样例 1

Network #1
  SPF node 3 leaves 2 subnets

Network #2
  No SPF nodes

Network #3
  SPF node 2 leaves 2 subnets
  SPF node 3 leaves 2 subnets

来源

Greater New York 2000