这道题用桶的思想,直接暴力存储,查找有无4个牌,如果有,直接输出YES,否则输出NO,但输出紊乱,根本看不了
#include <bits/stdc++.h>
using namespace std;
char c;
int a[20],b,T;
int main() {
cin>>T;
for(int n=1;n<=T;n++)
{
for(int i=1;i<=16;i++)
{
a[i]=0;
}
b=0;
for(int i=1;i<=17;i++)
{
cin>>c;
if(c=='1')
{
a[1]++;
continue;
}
if(c=='2')
{
a[2]++;
continue;
}
if(c=='3')
{
a[3]++;
continue;
}
if(c=='4')
{
a[4]++;
continue;
}
if(c=='5')
{
a[5]++;
continue;
}
if(c=='6')
{
a[6]++;
continue;
}
if(c=='7')
{
a[7]++;
continue;
}
if(c=='8')
{
a[8]++;
continue;
}
if(c=='9')
{
a[9]++;
continue;
}
if(c=='T')
{
a[10]++;
continue;
}
if(c=='J')
{
a[11]++;
continue;
}
if(c=='Q')
{
a[12]++;
continue;
}
if(c=='K')
{
a[13]++;
continue;
}
if(c=='X')
{
a[15]++;
continue;
}
if(c=='D')
{
a[15]++;
continue;
}
for(int i=1;i<=16;i++)
{
if(i==15&&a[i]==2)
{
cout<<"Yes"<<endl;
b++;
break;
}
if(a[i]==4)
{
cout<<"Yes"<<endl;
b++;
break;
}
}
if(b==0)
{
cout<<"No"<<endl;
}
}
}
return 0;
}