题目描述
牌只有1到9,手里拿着已经排好序的牌a,对方出牌b,用程序判断手中牌是否能够压过对方出牌。 规则:出牌牌型有5种 [1]一张 如4 则5...9可压过 [2]两张 如44 则55,66,77,...,99可压过 [3]三张 如444 规则如[2] [4]四张 如4444 规则如[2] [5]五张 牌型只有12345 23456 34567 45678 56789五个,后面的比前面的均大。
输入描述:
输入有多组数据。
每组输入两个字符串(字符串大小不超过100)a,b。a字符串代表手中牌,b字符串代表出的牌。
输出描述:
压过输出YES 否则NO。
示例1
输入
复制
12233445566677
33
输出
复制
YES
import java.util.*;
import java.io.*;
import java.text.*;
import java.math.*;
public class Main{
static int count;
public static void main(String[] args) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String a;
while((a = br.readLine()) != null) {
String b = br.readLine();
char[] cha = a.toCharArray();
char[] chb = b.toCharArray();
int lena = cha.length;
int lenb = chb.length;
int[] arr = new int[10];
for(int i = 0; i < lena; i++) {
arr[cha[i]-'0']++;
}
boolean flag = false;
if(lenb < 5) {
int n = chb[0] - '0';
for(int i = n+1; i <= 9; i++) {
if(arr[i] >= lenb) {
flag = true;
break;
}
}
}
else {
int n = chb[0] - '0';
for(int i = n+1; i <= 5; i++) {
while(i <= 9 && arr[i] >= 1) {
i++;
}
if(i - n > 5) {
flag = true;
break;
}
}
}
if(flag) System.out.println("YES");
else System.out.println("NO");
}
} catch(IOException e) {
e.printStackTrace();
}
}
}