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) {
    boolean[] cups = new boolean[3];
    cups[0] = true;
    Scanner sc = new Scanner(System.in);
    while(sc.hasNext()) {
      String line = sc.nextLine();
      String[] a  = line.split(",");
      boolean tmp = cups[(a[0].charAt(0)-'A')];
      cups[(a[0].charAt(0)-'A')] = cups[(a[1].charAt(0)-'A')];
      cups[(a[1].charAt(0)-'A')] = tmp;
    }
    if(cups[0]) {
      System.out.println("A");
    }
    if(cups[1]) {
      System.out.println("B");
    }
    if(cups[2]) {
      System.out.println("C");
    }
  }
}