给定一个包含 N 个服务器实例的无向图(用邻接矩阵表示),以及两个特别的节点 A 和 B。如果去掉某个中间节点 C(不包括 A 和 B)后,原本所有连接 A 到 B 的路径都会被切断,则称节点 C 存在单点故障风险。请列出所有这样的节点编号。
在某个系统的运行环境中,存在着很多服务器实例,服务器实例之间存在数据流动,假设原先从A到B服务器存在数据流动,即有一条或多条可用路径。如果某个服务器实例C(不包括起止点A和B)故障后,会导致A、B之间所有的数据流动路径中断,那么我们称服务器C是A−B线路上存在单点故障风险的服务器。已知服务器实例网络的数据流动图,请列出有单点故障的实例清单。
第一行,N,服务器实例个数,3<=N<=20
第二行至第 N+1 行,服务器节点之间的数据流向矩阵 M,M[i,j]=1表示 i 和 j 之间有数据流动,M[i,j]=0 表示没有数据流动。
第 N+2 行,起止服务器 A、B 所对应的序号 ( 0 至 N−1 )
请验出单点故障实例的数字编号(服务器编号从 0 开始,0 至 N−1)。有多个实例时,用空格隔开,排列顺序从小到大,本题绘出的所有用例一定存在单点故障实例。
输入
4
0 1 0 0
1 0 1 0
0 1 0 1
0 0 1 0
0 3
输出
1 2
说明
上述输入对应的图形如下:
图中有 4 个节点:0、1、2、3
节点 0−1、节点 1−2、节点 2−3 之间有数据流动。
上述输入节点 1 和 2 有单点故障风险,发生故障后会导致 0−3 之间无法传输数据,因此输出为:1 2
输入
8
0 1 0 0 1 0 0 0
1 0 1 0 1 0 0 0
0 1 0 1 0 1 0 1
0 0 1 0 0 1 1 0
1 1 0 0 0 1 0 0
0 0 1 1 1 0 0 0
0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 0
1 6
输出
3
说明
上述输入对应的图形如下:
对于 A 和 B 来说,只有服务然 3 存在单点故障风险,因此输出为 3