bool二维数组,然后逐一判断每个字符串所属的下标,然后该下标的状态设为true,最后遍历二维数组,如果状态为false,则count++,最后printf("%d", count);
代码实现一堆if堆史山代码就AC
AC - CODE
#include<bits/stdc++.h>
#define INTER return
#definne CODINGQWQ 0
using namespace std;
int n;
char a, b;
bool flag[16][100] = {false};
int main() {
freopen("poker.in", "r", stdin);
freopen("poker.out", "w", stdout);
cin >>n;
for(int i = 1; i <= n; i++) {
cin >>a >>b;
if(a == 'C') {
if(b == 'A')
flag[1][1] = true;
else if(b == '2' || b == '3' || b == '4' || b == '5' || b == '6' || b == '7' || b == '8' || b == '9')
flag[1][b - '0'] = true;
else if(b == 'T')
flag[1][10] = true;
else if(b == 'J')
flag[1][11] = true;
else if(b == 'Q')
flag[1][12] = true;
else if(b == 'K')
flag[1][13] = true;
}
else if(a == 'S') {
if(b == 'A')
flag[2][1] = true;
else if(b == '2' || b == '3' || b == '4' || b == '5' || b == '6' || b == '7' || b == '8' || b == '9')
flag[2][b - '0'] = true;
else if(b == 'T')
flag[2][10] = true;
else if(b == 'J')
flag[2][11] = true;
else if(b == 'Q')
flag[2][12] = true;
else if(b == 'K')
flag[2][13] = true;
}
else if(a == 'H') {
if(b == 'A')
flag[3][1] = true;
else if(b == '2' || b == '3' || b == '4' || b == '5' || b == '6' || b == '7' || b == '8' || b == '9')
flag[3][b - '0'] = true;
else if(b == 'T')
flag[3][10] = true;
else if(b == 'J')
flag[3][11] = true;
else if(b == 'Q')
flag[3][12] = true;
else if(b == 'K')
flag[3][13] = true;
}
if(a == 'D') {
if(b == 'A')
flag[4][1] = true;
else if(b == '2' || b == '3' || b == '4' || b == '5' || b == '6' || b == '7' || b == '8' || b == '9')
flag[4][b - '0'] = true;
else if(b == 'T')
flag[4][10] = true;
else if(b == 'J')
flag[4][11] = true;
else if(b == 'Q')
flag[4][12] = true;
else if(b == 'K')
flag[4][13] = true;
}
}
int count = 0;
for(int i = 1; i <= 4; i++) {
for(int j = 1; j <= 13; j++) {
if(flag[i][j] == false) {
count++;
}
}
}
cout <<count;
INTER CODINGQWQ;
}