题解 | 打牌

打牌

https://www.nowcoder.com/practice/82442ee76977479e8ab4b88dfadfca9f

#include <iostream>
#include <string>
using namespace std;

int main() {
    string a, b;
    while(cin >> a >> b){
        int arra[10]={0};
        int shuizi[10]={0};
        for(int i=0;i<a.size();i++){
            arra[a[i]-'0']++;
        }
        for(int i=1;i<6;i++){
            bool t=true;
            for(int j=i;j<i+5;j++){
                if(arra[j]==0){
                    t=false;
                    break;
                }
            }
            if(t){
                shuizi[i]=1;
            }
        }
        int blen = b.size();
        int bsmall = b[0]-'0';
        bool flag = false;
        if(blen<5){
            for(int i=bsmall+1;i<10;i++){
                if(arra[i]>=blen){
                    flag=true;
                    break;
                }
            }
            // if(!flag){
            //     for(int i=1;i<6;i++){
            //         if(shuizi[i]>0){
            //             flag=true;
            //             break;
            //         }
            //     }
            // }
        }else{
            for(int i=bsmall+1;i<6;i++){
                if(shuizi[i]>0){
                    flag=true;
                    break;
                }
            }
        }
        if(flag){
            cout << "YES" << endl;
        }else{
            cout << "NO" << endl;
        }
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务