Reconstructing department hierarchy from pairs of subordination
Python
Hard
dicts
任务 «Reconstructing department hierarchy from pairs of subordination»
给定员工之间的从属关系对,格式为'上级:下属'。需要恢复完整的部门层级结构。每位员工可以有多个下属,但只能有一位上级(根主管除外)。输入数据可能包含循环或不完整数据——此类情况需忽略。对于每个部门(链中最顶层的上级),按字母顺序输出该部门所有员工名单,以空格分隔。各部门按部门主管名称排序。
输入格式
第一行包含一个整数 N (1 ≤ N ≤ 10000) — 表示对的数量。接下来 N 行,每行格式为:'boss:subordinate'(拉丁字母,长度从 1 到 20 个字符)。
输出格式
对于每个部门,输出一行:'部门负责人:员工1 员工2 ...'(该部门的所有员工,包括负责人本人,按字母顺序排列)。部门按负责人姓名排序。如果数据存在矛盾(循环、多个负责人),则仅输出无矛盾的部分。
示例
示例 1
输入
4
Alice:Bob
Alice:Charlie
Bob:David
Charlie:Eve
输出
Alice: Alice Bob Charlie David Eve
示例 2
输入
3
X:Y
Y:Z
Z:X
输出
示例 3
输入
2
M:N
M:O
输出
M: M N O
示例 4
输入
ab3c2
输出
abababcc
main.py