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.*;

class Main{
   public static void main(String arg[]) throws java.io.IOException{
       Scanner scan =new Scanner (System.in);
      boolean [] cup = new boolean [3];
      cup[0]=true;
       while(scan.hasNext()){
    	   char[] a = scan.next().toCharArray();
    	   int f =a[0]-'A';
    	   int s =a[2] -'A';
    	   cup[f]=cup[f]^cup[s];
    	   cup[s]=cup[f]^cup[s];
    	   cup[f]=cup[f]^cup[s];
       }
       for(int i=0;i<3;i++)
    	   if(cup[i])System.out.println((char)(i+'A'));
   }
}