题目描述:

牌只有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。

样例输入:

12233445566677
33

 

样例输出:

YES
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;

int main(){
    char a[100],b[100];
    while(gets(a)&&gets(b)){
        int len=strlen(b);
        int i,flag=0;
        int len1=strlen(a);
        switch(len){
            case 1:
                for(i=0;i<len1;i++){
                    if(a[i]>b[0]) flag=1;
                } 
                break;
            case 2:
                for(i=0;i<len1-1;i++){
                    if(a[i]==a[i+1])
                    {
                        if(a[i]>b[0]) flag=1;
                    }
                } break;
            case 3:
                for(i=0;i<len1-2;i++){
                    if(a[i]==a[i+1]&&a[i]==a[i+2])
                    {
                        if(a[i]>b[0]) flag=1;
                    }
                } break;        
            case 4:
                for(i=0;i<len1-3;i++){
                    if(a[i]==a[i+1]&&a[i]==a[i+2]&&a[i]==a[i+3])
                    {
                        if(a[i]>b[0]) flag=1;
                    }
                } break;
            case 5:
                int count=0,j;
                for(i=0;i<len1-1;i++)
                {
                    if(a[i]==a[i+1])
                    {
                        for(j=i;j<len1-1;j++)
                        {a[j]=a[j+1];}
                        len1--;
                    }
                }
                for(i=0;i<len1-4;i++)
                {
                    if(a[i]==a[i+1]-1 && a[i+1]==a[i+2]-1 && a[i+2]==a[i+3]-1 && a[i+3]==a[i+4]-1)
                    {
                        if(a[i]>b[0]) flag=1;
                    }
                }
        }
        if(flag) cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
    }
    return 0;
}