题解 | #扑克牌大小#

https://www.nowcoder.com/practice/0a92c75f5d6b4db28fcfa3e65e5c9b3f

#include <iostream>
#include <string>
#include <algorithm>

using namespace std;

string findMax(const string& line) {
	if (line.find("joker JOKER") != string::npos) return "joker JOKER";

	int dash = line.find('-');
	// 分开两手牌!
	string card1 = line.substr(0, dash);
	string card2 = line.substr(dash + 1);

	// 获得两手牌中的张数!
	int card1_cnt = count(card1.begin(), card1.end(), ' ') + 1;
	int card2_cnt = count(card2.begin(), card2.end(), ' ') + 1;

	// 获取两手牌的各自第一张牌!
	string card1_first = card1.substr(0, card1.find(' '));
	string card2_first = card2.substr(0, card2.find(' '));

	if (card1_first == card2_first) {
		// == C++ 的运算符重载! 
		string str = "345678910JQLA2jokerJOKER";
		if (str.find(card1_first) > str.find(card2_first)) {
			return card1;
		}
		return card2;
	}
	if (card1_cnt == 4) return card1;
	else if (card2_cnt == 4) return card2;
	return "ERROR";
}

int main() {
	string line, res;
	while (getline(cin, line)) {
		res = findMax(line);
		cout << res << endl;
	}
	return 0;
}


全部评论
漏洞百出
1 回复 分享
发布于 2022-09-29 17:57 北京

相关推荐

点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 15:39
希望奇迹发生的布莱克...:真的是 现在卷实习就是没苦硬吃
点赞 评论 收藏
分享
那一天的Java_J...:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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