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.util.Scanner;

class Main{
	public static void main(String[] args) {
		Scanner sc;
		String str="";
		String[] kuwasiku;
		int[] hako=new int[3];
		int afrom=0,ato=0;
		int tmp1=0,tmp2=0;

		for(int i=0; i<3; i++) {
			hako[i]=0;
		}
		hako[0]=1;

	sc=new Scanner(System.in);
		while(sc.hasNext()) {
			str=sc.next();
			kuwasiku=str.split(",");
			if(kuwasiku[0].equals("A")) {
				afrom=0;
			}
			else if(kuwasiku[0].equals("B")) {
				afrom=1;
			}
			else if(kuwasiku[0].equals("C")) {
				afrom=2;
			}

			if(kuwasiku[1].equals("A")) {
				ato=0;
			}
			else if(kuwasiku[1].equals("B")) {
				ato=1;
			}
			else if(kuwasiku[1].equals("C")) {
				ato=2;
			}

			tmp1=hako[afrom];
			tmp2=hako[ato];
			hako[afrom]=tmp2;
			hako[ato]=tmp1;
		}
		if(hako[0]==1) {
			System.out.println("A");
		}
		else if(hako[1]==1) {
			System.out.println("B");
		}
		else if(hako[2]==1) {
			System.out.println("C");
		}
	}
}