Problem:
カップゲーム

3 つのカップがふせて置かれています。カップの置かれている場所を、順に A,B,C と呼ぶことにします。最初は A に置かれているカップの中にボールが隠されているとします。カップの位置を入れ替えると、中に入っているボールも一緒に移動します。

入れ替える２つのカップの位置を読み込んで、最終的にどの場所のカップにボールが隠されているかを出力するプログラムを作成してください。

Input

入れ替える２つのカップの位置が順番に複数行にわたり与えられます。各行に、入れ替える２つのカップの位置を表す文字（A, B, または C）がカンマ区切りで与えられます。

入れ替える操作は 50 回を超えません。

Output

ボールが入っているカップの場所（A, B, または C）を１行に出力します。

Sample Input

B,C
A,C
C,B
A,B
C,B

Output for the Sample Input

A

Solution in JAVA (judge verdict: Time Limit Exceeded)

import java.io.*;

public class Main{
	public static void main(String[] args)throws IOException{
		BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
		String s;
		String[] t;
		int[] location=new int[3];
		location[0]=1;
		location[1]=0;
		location[2]=0;
		int alt;
		int[] number=new int[2];
		while(true){
			while((s=reader.readLine())!=null){
				if(s.isEmpty()){
					break;
				}
				if(s==""){break;}
				t=s.split(",");
				for(int i=0;i<2;i++){
					if(t[i]=="A"){number[i]=0;}
						else if(t[i]=="B"){number[i]=1;}
						else if(t[i]=="C"){number[i]=2;}	
				}
				alt=location[number[0]];
				location[number[0]]=location[number[1]];
				location[number[1]]=alt;
			}
			for(int j=0;j<3;j++){
				if(location[j]==1){
					switch(j){
						case 0:
							System.out.println("A");
							break;
						case 1:
							System.out.println("B");
							break;
						case 2:
							System.out.println("C");
							break;
					}
				}
			}
		}
	}
}