问题描述
小蓝和小桥玩斗地主,小蓝只剩四张牌了,他想知道是否是“三带一”牌型。
所谓“三带一”牌型,即四张手牌中,有三张牌一样,另外一张不与其他牌相同,换种说法,四张手牌经过重新排列后,可以组成 AAAB 型。
输入格式
第一行输入一个整数 T ,代表斗地主的轮数。
接下来 T 行,每行输入一个长度为 4 的字符串,代表小蓝的手牌。
字符 { 'A','2','3','4','5','6','7','8','9','X','J','Q','K'
} 对应代表牌面 { A,2,3,4,5,6,7,8,9,10,J,Q,K } 。
牌面中不包含大小王。
输出格式
输出 T 行,每行一个字符串,如果当前牌是“三带一”牌型,输出 Yes
,否则输出 No
。
样例输入
5
AAAA
33X3
JQKX
6566
KKKQ
样例输出
No
Yes
No
Yes
Yes
说明
“四炸”牌型不属于“三带一”牌型。
评测数据范围
数据范围:1≤T≤50 。
字符中只包含:{ A,2,3,4,5,6,7,8,9,X,J,Q,K } 。
运行限制
语言 | 最大运行时间 | 最大运行内存 |
---|---|---|
C++ | 1s | 256M |
C | 1s | 256M |
Java | 2s | 256M |
Python3 | 3s | 256M |
PyPy3 | 3s | 256M |
Go | 3s | 256M |
JavaScript | 3s | 256M |
总通过次数: 2853 | 总提交次数: 4245 | 通过率: 67.2%
思路分享:
你们的牌又又又打错了,我有一计,
直接暴力破解,话不多说,
直接把四种情况全部列出来,这才是真正的暴力美学,大道至简。
代码分享:
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++){
string ch;
cin>>ch;
if((ch[0]==ch[1]&&ch[1]==ch[2]&&ch[3]!=ch[1])||
(ch[0]==ch[1]&&ch[1]==ch[3]&&ch[2]!=ch[1])||
(ch[0]==ch[2]&&ch[2]==ch[3]&&ch[1]!=ch[2])||
(ch[1]==ch[2]&&ch[2]==ch[3]&&ch[0]!=ch[2]))
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
// 请在此输入您的代码
return 0;
}