因为涉及到相对关系,我第一个想到的东西是并查集。这道题目我也差不多是用并查集的思想来做的,用数组来记录相互之间的关系,等整个关系网建立好后就来依次计算每个人的年龄。因为一个人只能有一个父亲,所以每个关系中的cname相对于所有人名的集合来讲都是unique的。我选择了每对关系中的cname作为标志,先用它排个序,然后每次用到的时候就用二分查找来寻找它对应的数组下标。
这样做速度还挺快的,是0MS。
因为涉及到相对关系,我第一个想到的东西是并查集。这道题目我也差不多是用并查集的思想来做的,用数组来记录相互之间的关系,等整个关系网建立好后就来依次计算每个人的年龄。因为一个人只能有一个父亲,所以每个关系中的cname相对于所有人名的集合来讲都是unique的。我选择了每对关系中的cname作为标志,先用它排个序,然后每次用到的时候就用二分查找来寻找它对应的数组下标。
这样做速度还挺快的,是0MS。