题目连接:移动小球
import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner input=new Scanner(System.in);int N=input.nextInt();while(N-->0){int n=input.nextInt();int m=input.nextInt();F f[]=new F[n+1];for(int i=1;i<=n;i++){f[i]=new F(i-1,i,i+1);}f[1].left=n;//1的左边是nf[n].right=1;//n的右边是1while(m-->0){String a=input.next();int y=input.nextInt();int z=input.nextInt();char j=a.charAt(0);switch(j){case 'A':{f[f[y].left].right=f[y].right;//删除小球yf[f[y].right].left=f[y].left;//删除小球y//把y插入到z左边f[y].left=f[z].left;f[y].right=z;f[f[z].left].right=y;f[z].left=y;}break;case 'B':{f[f[y].left].right=f[y].right;//删除小球yf[f[y].right].left=f[y].left;//删除小球y//把y插入到z右边f[y].left=z;f[y].right=f[z].right;f[f[z].right].left=y;f[z].right=y;}break;case 'Q':{if(y==1){System.out.println(f[z].right);}elseSystem.out.println(f[z].left);}}}}}
}
class F{//记录每个小球的左右小球int left,s,right;F(int left,int s,int right){this.left=left;this.s=s;this.right=right;}F(){}
}