注意可能出现 x=y 的情况,所以记录拆点后最后一个节点的数组要在并查集合并之后修改。
WA 40 pts
cin>>x>>y,d[x]=++cnt,merge(cnt,d[y]),merge(cnt+(n+m),d[y]+(n+m)),merge(cnt+(n+m)*2,d[y]+(n+m)*2);
AC
cin>>x>>y,cnt++,merge(cnt,d[y]),merge(cnt+(n+m),d[y]+(n+m)),merge(cnt+(n+m)*2,d[y]+(n+m)*2),d[x]=cnt;