A556. 小球移动
编程题
普及-
知识点
题目描述
给你n个小球,从左到右编号依次为1,2,3,4,5,6.........n,并规定小球1的左边的球号为n,小球n的右边的球号为1.现在有以下3种操作:A x y表示把编号为x小球移动到编号为y的小球的左边,B x y表示把编号为x小球移动到编号为y的小球的右边,Q 1 m为询问编号为m的小球右边的球号,Q 0 m为询问编号为m的小球左边的球号。
输入格式
第一行有一个整数t,表示有t组测试数据,随后每一组测试数据第一行是两个整数n,m,其中n表示球的个数,m表示操作的的次数。
随后的m行,每行有三个数 s x y,s表示操作的类型,x,y为小球号。当s为Q时,若x为1,则询问小球y右边的球号,x为0,则询问小球y左边的球号。
随后的m行,每行有三个数 s x y,s表示操作的类型,x,y为小球号。当s为Q时,若x为1,则询问小球y右边的球号,x为0,则询问小球y左边的球号。
输出格式
输出每次询问的球号。
输入输出样例
输入 #1
1 6 3 A 1 4 B 3 5 Q 1 5
输出 #1
3
说明/提示
对于50\%的数据0<n,m<=100
另有30\%的数据0<n,m<=10000
对于100\%的数据0<n,m<=100000,0<t<=10
另有30\%的数据0<n,m<=10000
对于100\%的数据0<n,m<=100000,0<t<=10