题意就不说了,看了discuss知道用并查集求解。
由于之前没写过并查集,所以找了一本《数据结构》的书复习了下。然后按照书本的描述来写并查集。
没想到在POJ提交代码时却出现了个怪异的现象,老是TLE。
参考网上的解答,改啊改,快崩溃时终于AC了。
真是奇怪,为什么把“判断两个元素的双亲”放在主函数就TLE了呢,而一定要放在unionSet?
下面是两个版本的代码。
代码一运用了“平行数组”,额外作用了num表示当前集合内的元素个数;而代码二则将当前元素个数存储在根元素。
代码一:
代码二: