连续扑克牌
#include<iostream>
#include<algorithm>
#include<string>
#include<math.h>
#include<stdlib.h>
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
int main(){
int i,j,m,k;
int T;
cin>>T;
int sum;
for(i=0;i<T;i++){
int n;
int b[20],a[14]={0};
cin>>n;
int count=0;
sum=0;
for(j=0;j<n;j++){
char a[2];
cin>>a;
if(a[0]=='A'){
b[j]=1;
}
else if(a[0]=='J') b[j]=11;
else if(a[0]=='Q') b[j]=12;
else if(a[0]=='K') b[j]=13;
else if(a[0]=='1' && a[1]=='0') b[j]=10;
else b[j]=a[0]-'0';
}
sort(b,b+n);
for(j=0;j<n;j++){
a[b[j]]++;
}
int count2=0;
for(j=1;j<n;j++){
if(b[j]!=b[count2]){
count2++;
b[count2]=b[j];
}
}
for(m=0;m<=count2;m++){
count=1;
for(k=m+1;k<=count2;k++){
if(b[k]==b[k-1]+1){
count++;
if(count>=5){
int zz=1;
for(int dd=m;dd<=k;dd++){
zz*=a[b[dd]];
}
sum +=zz;
}
}
else break;
}
}
cout<<sum<<endl;
}
return 0;
}
/*
1
7
7 3 3 4 4 5 6
5
7
7 3 3 4 4 5 6
5
2 3 4 6 A
5
A 2 3 4 5
6
3 4 5 6 7 8
9
7 5 6 8 8 9 9 10 10
4
0
1
3
20
*/