p11227基础作答不使用STL工具
查看原帖
p11227基础作答不使用STL工具
1222078
songshu1234楼主2025/7/3 14:41

这道题是一道简单的枚举题目

核心思路:统计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;	
}

以上是我想法可以作为参考

2025/7/3 14:41
加载中...