题解 | #扑克牌大小#

扑克牌大小

https://www.nowcoder.com/practice/d290db02bacc4c40965ac31d16b1c3eb

打卡
#include <iostream>
#include<algorithm>
#include <string>
#include <vector>
#include<sstream>
using namespace std;

void cmp(vector<string>a, vector<string>b) {
    vector<string>table = { "3","4","5","6","7","8","9","10","J","Q","K","A","2","joker","JOKER" };
    int pa = a.size(), pb = b.size(), da = find(table.begin(), table.end(), a[0]) - table.begin(), db = find(table.begin(), table.end(), b[0]) - table.begin();
    if (pa == 2 && a[0] == "joker" || pb == 2 && b[0] == "joker") {
        cout << "joker" << ' ' << "JOKER" << endl;
    }
    else if (pa == pb) {
        if (da > db) {
            for (int i = 0; i < pa; i++)
                cout << a[i] << ' ';
        }
        if (da < db) {
            for (int i = 0; i < pb; i++)
                cout << b[i] << ' ';
        }
    }
    else {
        if (pa == 4) {
            for (int i = 0; i < pa; i++)
                cout << a[0] << ' ';
        }
        else if (pb == 4) {
            for (int i = 0; i < pb; i++)
                cout << b[0] << ' ';
        }
        else cout << "ERROR";
    }
}

int main() {
    vector<string>a, b;
    string s, s1, s2;
    stringstream ss;
    getline(cin, s);
    int pos = s.find('-');
    s1 = s.substr(0, pos);
    s2 = s.substr(pos + 1);
    ss << s1;
    while (ss>>s) {
        a.push_back(s);
    }
    ss.clear();
    ss << s2;
    while (ss >> s) {
        b.push_back(s);
    }
    cmp(a, b);
    return 0;
}

全部评论

相关推荐

10-13 22:56
门头沟学院 C++
rt,鼠鼠的浪潮网签明天过期,鼠鼠是山东人,好像自己也能接受。之前的面试大厂基本挂干净了,剩下小米二面后在泡,问了下面试官没有挂,但要泡。还有海信似乎也通过了,不过在深圳,鼠鼠也不是很想去。其它还有一些公司应该陆陆续续还有一些面试,现在有些纠结是直接签了还是再等再面呢?大佬们能不能给鼠鼠提一些意见,万分感谢!!!
牛客78696106...:浪潮可不是开摆,当初我还是开发的时候我组长跟我说他们组有段时间天天1,2点走,早上5点就来,全组肝出来心肌炎,浪潮挣钱省立花可不是说说,当然也看部门,但是浪潮普遍就那dio样,而且你算下时薪就知道不高,没事也是9点半走,不然算你旷工
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
菠落蜜:这个是系统自动投的,不是hr主动打招呼。更抽象的还有ai回复
我的秋招日记
点赞 评论 收藏
分享
用微笑面对困难:只要你保证项目和获奖都是真的就行尤其是“对战,总负责人”啊这些套职,基本上队员,打杂的都这么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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