#1105. Extends 2022

Extends 2022

题目背景

随着 20222022 级的学长学姐们即将步入大四,越来越多的学长学姐都选择了退役。大家都说 ACM 生涯是一段很快乐的时光。在这道时光中我们不仅收获了算法与编程的硬核技能,更收获了并肩作战的珍贵情谊。那些通宵调代码的夜晚,那些因为一个 WA 而集体挠头的时刻,那些在比赛现场紧张等待滚板的瞬间,都成为了青春最鲜活的注脚。记得第一次 AC 时的击掌欢呼,记得铁牌到银牌的蜕变喜悦,也记得那些遗憾离场的黯然神伤。ACM 教会我们的,远不止如何优雅地解决问题,更是在高压下保持冷静的心态,在困境中寻找突破的智慧。这段用算法编织的岁月,终将成为我们面对未来挑战时最坚实的底气。当键盘声渐渐远去,留在记忆里的,是队友间无需言说的默契,是队友那句"再想想"的执着,是属于 ACMer 们独有的浪漫——用逻辑解构世界,用代码书写青春。

题目描述

现在,新的集训队掌舵人已经就任,为了更方便的管理集训队,继承了 20222022 级的管理程序。但是由于程序过于复杂,他不会使用,他希望可以实现一个更简单的程序可以用于完成以下功能。

  1. 若题目 xx 和题目 yy 不在一个题单中,合并两个题目所在的训练题单

  2. 若题目 xx 和题目 yy 不在一个题单中,将题目 xx 移动到题目 yy 所在的题单

  3. 对于题目 xx,查询题目 xx 所在题单的题目数量,题单中题目的异或和

输入格式

第一行,一个正整数 T(T10)T (T \leq 10) ,表示每个测试点有 TT 组测试样例

对于每组测试样例

第一行,两个正整数 n,mn,m (1n,m105)(1 \leq n,m \leq 10^5)

接下来 mm 行,每行第一个数 opop 代表选择哪一个命令

若 opop 是 11 或 22 命令,则再输入两个整数 x,yx,y (1x,yn)(1 \leq x, y\leq n)

若 opop 是 33,则输入一个整数 xx (1xn)(1 \leq x \leq n)

输出格式

对于每次 33 号命令,每一行输出两个整数 aa 和 bb,分别表示题目数量和异或和。

样例输入输出

1
5 7
1 1 2
2 3 4
1 3 5
3 4
2 4 1
3 4
3 3
3 2
3 7
2 6

样例解释

初始化集合为 [1],[2],[3],[4],[5][1], [2], [3], [4], [5]

第一次操作后 [1,2],[3],[4],[5][1,2],[3],[4],[5]

第二次操作后 [1,2],[3,4],[5][1,2],[3,4],[5]

第三次操作后 [1,2],[3,4,5][1,2],[3,4,5]

第四次操作时,题目 44 所在题单有 33 题,异或和为 22

第五次操作后 [1,2,4],[3,5][1,2,4], [3,5]

第六次操作时,题目 44 所在题单有 33 题,异或和为 77

第六次操作时,题目 33 所在题单有 22 题,异或和为 66