Codeforces #82 (div2) A "Card Game "

問題:http://codeforces.com/contest/106/problem/A

有利な組と2枚のカードが与えられる.カードは組とランクの情報を持っており,有利な組を持つカードをトランプと定義する.最初に出したカードがトランプであり,後に出したカードがトランプでない場合は最初に出したカードの勝ち,また,両方共同じ組であった場合はランクが高いほうが勝ちとなる.これ以外は負けとする.このとき,最初に出したカードが勝ちかどうかを求める.

similar suitの意味がわからず,最初は「有利な組を持つカードは有利でない組を持つカードを持ち,それ以外(同じ組や違う組)の場合はランクが高いほうが勝ち」であると勘違いしてた.これでもプレテストは通るが,ハックされて落ちる.このあと問題解釈の間違いに気づいて再提出後,AC.

import java.util.*;

public class A {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String x = s.nextLine();
		String[] sp = s.nextLine().split(" ");
		List<String> list = Arrays.asList("6", "7", "8", "9", "T", "J", "Q", "K", "A");
		if (sp[0].contains(x) && !sp[1].contains(x) || sp[0].contains(sp[1].substring(1)) && list.indexOf(sp[0].substring(0, 1)) > list.indexOf(sp[1].substring(0, 1))) {
			System.out.println("YES");
		}else{
			System.out.println("NO");
		}
	}
}