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: Accepted)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

class Main {
	public static void main(String args[])throws IOException{
		InputStreamReader isr = new InputStreamReader(System.in);
		BufferedReader br = new BufferedReader(isr);
		int[] ball = {1,0,0};
		String line;
		String[] splitLine;
		int tmp;
		int[] change = new int[2];
		
		while(true){
			line = br.readLine();
			if(line == null || line.isEmpty()){
				break;
			}
			splitLine = line.split(",");
			if(splitLine[0].equals("A")){
				change[0] = 0;
			}else if(splitLine[0].equals("B")){
				change[0] = 1;
			}else{
				change[0] = 2;
			}
			
			if(splitLine[1].equals("A")){
				change[1] = 0;
			}else if(splitLine[1].equals("B")){
				change[1] = 1;
			}else{
				change[1] = 2;
			}
			
			tmp = ball[change[0]];
			ball[change[0]] = ball[change[1]];
			ball[change[1]] = tmp;
		}
		
		if(ball[0] == 1){
			System.out.println("A");
		}else if(ball[1] == 1){
			System.out.println("B");
		}else{
			System.out.println("C");
		}
	}
}