扑克牌大小---牛客网
#include <iostream> #include<string> #include<algorithm> using namespace std; string op(const string& line) { if (line.find("joker JOKER") != string::npos)//如果是对王 最大 直接返回即可 return "joker JOKER"; //找到分界点 再取到两手牌 int at = line.find('-'); string ch1 = line.substr(0, at); string ch2 = line.substr(at+1); //两手牌的个数 //count 计算某个数据的某个值的个数 //范围可以自己定 //找出某个数据存在空格 找出有效数据个数 可以学习 int size1 = count(ch1.begin(), ch1.end(), ' ') + 1; int size2 = count(ch2.begin(), ch2.end(), ' ') + 1;
//当两手牌的数量相同 if (size1 == size2) { //列出牌的大小顺序 string s = "345678910JQKA2"; //去找两种手牌的一个数 的位置 //比较两种手牌第一个数的位置大小 越往后越大 //这段利用举出例子后 查找位置 比较大小可以学习 if (s.find(ch1[0]) > s.find(ch2[0])) { return ch1; } else { return ch2; } }
//如果不相同 那么一定存在炸弹 else { //去找哪个为炸弹即可 if (size1 == 4) return ch1; else if (size2 == 4) return ch2; } //如果他们个数不同 并且不存在炸弹 那么无法比较 return "ERROR"; } int main() { string line; string ret; while (getline(cin, line)) { ret = op(line); cout << ret; } }
//两手牌的个数 //count 计算某个数据的某个值的个数 //范围可以自己定 //找出某个数据存在空格 找出有效数据个数 可以学习 int size1 = count(ch1.begin(), ch1.end(), ' ') + 1; int size2 = count(ch2.begin(), ch2.end(), ' ') + 1;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理