#Z4101. 奇怪的魔法
奇怪的魔法
在一个神秘的魔法王国里,住着一群掌控元素力量的魔法师们。这些魔法师被排列在不同的魔法阵中,每个魔法阵由若干魔法师组成。每个魔法阵的位置会随着战术调整而改变。
有 ( N ) 个魔法阵,也依次编号为 ( 1,2,…,N )。一开始,每个魔法阵中都只驻扎着一位魔法师,魔法师的编号与魔法阵编号相对应,即第 ( i ) 号魔法师驻扎在第 ( i ) 号魔法阵。
巫师们需要不断调整阵形,指挥他们的魔法阵位置,以应对不断变化的战局。每次调整指令都可能改变魔法阵的排列方式。除此之外,他们还需要追踪特定的魔法师位置,判断两位魔法师是否在同一魔法阵中,以及两人之间的距离。
你将作为魔法师们的助手,负责处理一系列指令:
输入格式
第一行包含整数 ( T ),表示共有 ( T ) 条指令。
接下来 ( T ) 行,每行一个指令,指令有两种形式:M i j 或 C i j。
M i j表示将第 ( i ) 号魔法阵中的全部魔法师,接在第 ( j ) 号魔法阵的末尾,形成新的阵形。C i j表示询问第 ( i ) 号魔法师与第 ( j ) 号魔法师当前是否在同一魔法阵中,如果在同一阵中,输出他们之间隔了多少魔法师;否则,输出-1。
输出格式
对于每个 C i j 指令,输出一行,只包含一个整数:在同一魔法阵中时,两魔法师之间的距离(即间隔的魔法师数目);若不在同一阵中,则输出 -1。
数据范围
输入样例:
4
M 2 3
C 1 2
M 2 4
C 4 2
输出样例:
-1
1