纸牌游戏
时间限制:1000 ms | 内存限制:65535 KB
难度:1
-
描述
-
-
玩家1和玩家2各出一张牌,看谁大。如果两张牌都不是王牌花色或则都是王牌花色,则牌面大的牌大,如果牌面一样大则一样大。若其中一张牌是王牌而另一张不是,则无论牌面如何都是王牌花色大。
-
输入
- 第一行一个数字n,代表数据组数(n <= 10)
对于每组数据,首先输入一个字符(S\H\D\C),表示王牌花色。
接下去一行有两张牌面,表示为牌面花色,如8D、9S等。
输出 - 对于每组数据,输出第一张牌是否比第二张牌大,若是则输出YES,否则输出NO 样例输入
-
1 H QH 9S
样例输出 -
YES
-
import java.util.Scanner;
public class Main {
public static int fun(String str) {
String[] arr = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10",
"J", "Q", "K" };
for (int i = 0; i < arr.length; i++) {
if (arr[i].equals(str))
return i;
}
return -1;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int number = scanner.nextInt();
String temp = scanner.nextLine();
while (number-- != 0) {
String king = scanner.next();
String one = scanner.next();
String two = scanner.next();
String one_1 = one.substring(0, one.length() - 1);
String one_2 = one.substring(one.length() - 1, one.length());
String two_1 = two.substring(0, two.length() - 1);
String two_2 = two.substring(two.length() - 1, two.length());
if (one_2.equals(king) && !two_2.equals(king)) {
System.out.println("YES");
} else if (!one_2.equals(king) && two_2.equals(king)) {
System.out.println("NO");
} else if (one_2.equals(king) && two_2.equals(king)) {
if (fun(one_1) > fun(two_1)) {
System.out.println("YES");
} else {
System.out.println("NO");
}
} else {
if (fun(one_1) > fun(two_1)) {
System.out.println("YES");
} else {
if (fun(one_2) > fun(two_2)) {
System.out.println("YES");
} else {
System.out.println("NO");
}
}
}
}
}
}