这道题是一道简单的枚举题目
核心思路:统计52张牌,哪些被标记。然后52减去被标记的牌,就可以得到需要借的牌。
准备工作:
char a[4]={'D','C','H','S'};
char b[13]={'A','2','3','4','5','6','7','8','9','T','J','Q','K'};
bool ab[4][13];
默认:接下来输入的字符串和对应的行列进行对应标记即可。
完整代码如下:
#include<bits/stdc++.h>
using namespace std;
string s;
char a[4]={'D','C','H','S'};
char b[13]={'A','2','3','4','5','6','7','8','9','T','J','Q','K'};
bool ab[4][13];
int n,cnt=0;
int main(){
memset(ab,0,sizeof(ab));
cin>>n;
for(int k=1;k<=n;k++){
cin>>s;
for(int i=0;i<4;i++){
for(int j=0;j<13;j++){
if(s[0]==a[i]&&s[1]==b[j]) ab[i][j]=1;
}
}
}
for(int i=0;i<4;i++){
for(int j=0;j<13;j++){
if(ab[i][j]) cnt++;
}
}
cout<<52-cnt;
return 0;
}
以上是我想法可以作为参考