服务依赖 or 服务失效判断
题目
在某系统中有众多服务,每个服务用字符串(只包含字母和数字,长度<=10
)唯一标识,服务间可能有依赖关系,如A
依赖B
,则当 B
故障时导致 A
也故障。
传递具有依赖性,如 A
依赖 B
,B
依赖 C
,当 C
故障时导致 B
故障,也导致 A
故障。给出所有依赖关系以及当前已知故障服务,要求输出所有正常服务。
依赖关系:服务1-服务2
表示 “服务1依赖服务2
” 不必考虑输入异常
输入
半角逗号分隔的依赖关系列表(换行)
半角逗号分割的故障服务列表
输出
依赖关系列表中提及的所有服务中可以正常工作的服务列表用半角逗号分隔,
按依赖关系列表中出现的次序排序。特别的,没有正常节点输出单独一个半角逗号。
示例一
输入
a1-a2,a5-a6,a2-a3
a5,a2
输出
a6,a3
说明
a1
依赖 a2
,a2
依赖 a3
,所以 a2
故障,导致 a1
不可用,但不影响 a3
;
a5
故障不影响 a6
。所以可用的是 a3
、a6
,在依赖关系列表中 a6
先出现,所以输出:a6,a3
。
示例二
输入
a1-a2
a2
输出
,
说明
a1
依赖 a2
,
a2
故障导致 a1
也故障,
没有正常节点,输出一个逗号。
解题思路
将服务器连接信息分割为一个二维数组 list_,其