文章
2
粉丝
46
获赞
1
访问
971
#include <bits/stdc++.h>
using namespace std;
bool check(string a, string b)
{
// 存入自己的牌
unordered_map<int, int> ha;
for (int i = 0; i < a.size(); i ++ ) ha[a[i] - '0'] ++ ;
// 获取对方第一张牌
int tmp1 = b[0] - '0';
// 牌型5
if (b.size() == 5)
{
if (tmp1 == 5) return false;
for (int i = tmp1 + 1; i <= 5; i ++ )
{
// 判断大于对方的顺子是否存在
if (ha[i] && ha[i + 1] && ha[i + 2] && ha[i + 3] && ha[i + 4]) return true;
}
return false;
}
// 牌型1-4
else
{
for (int j = tmp1 + 1; j <= 9; j ++ )
{
if (ha[j] >= b.size()) return true;
}
return false;
}
}
int main()
{
string a, b;
while (cin >> a >> b)
{
if (check(a, b)) puts("YES");
else puts("NO");
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发