3367. L3-U.C.0079

【问题描述】

    西历1999年,面临人口、资源、环境各方面危机的人类社会终于为携手开创新时代而实现统一,成立地球联邦政府,并于2045年进入宇宙世纪,史称U.C.0001 U.C.0058,距地球最远的宇宙都市(殖民卫星群)SIDE3, 由政治家吉恩· 兹姆·戴肯发表SIDE3独立宣言,成立吉恩(ZION)公国,并建立国防队。

    U.C.0074 吉恩公国成功研制出机动战士 MS-05 扎古。

    U.C.0079年5月,联邦军成功研制出RX-78 GUNDAM,并打算运往SIDE7进行最后测试。然而这个消息却被吉恩侦察兵发现。为了防止RX-78的完成,吉恩公国准备派出三万扎古大军攻打 SIDE7。

    目前SIDE7总部监听到的信息是,吉恩公国的扎古军队将会以编号 ,第 i 号处于第 i 列形成一字长蛇阵。然而,扎古队伍的阵型会随着战局的发展而发生变化。幸好总部能监听到敌方的合并指令。合并指为   ,含义为第 i 号扎古所在的整个列,作为一个整体(头在前尾在后)接至第 j 号扎古所在的扎古队列的尾部,合并指令的执行结果会使队列增大。同时SIDE7的守备部队为了及时了解敌军的分布情况,也会向总部发出一些询问指令: 。该指令意思是敌方的第 i 号扎古与第 j 号扎古当前是否在同一列中,如果在同一列中, 那么它们之间有多少扎古。

    作为一名SIDE7的技术人员,你被要求编写程序分析敌方的合并指令,以及回答守备部队的查询。

【输入形式】

    第一行一个整数  ,表示总共有 T 条指令。

    接下来有 T 行,每行一条指令。指令有两种格式:

  1. :   ij 为两个整数 ,表示指令涉及的扎古编号。该指令是总部窃听到的合并指令,并且保证第 i 号扎古与第 j 号扎古不在同一列。

  2. :    ij 为两个整数 ,表示指令涉及的扎古编号。该指令是守备部队发出的询问指令。

【输出形式】

    依次对输入的每一条指令进行分析和处理:

    • 如果是敌军发布的扎古合并指令,则表示扎古军队排列发生了变化,不输出信息。

    • 如果是守备部队发出的询问指令,你的程序要输出一行,仅包含一个整数。表示在同一列上,第 i 号扎古与第 j 号扎古之间的扎古数目。如果第 i 号扎古与第 j 号扎古当前不在同一列上,则输出 -1

【样例输入】

4
M 2 3
C 1 2
M 2 4
C 4 2

【样例输出】

-1
1


难度等级: 0
总通过次数: 4
总提交次数: 42