必对题解
2026-06-15 19:21:31
发布于:天津
5阅读
0回复
0点赞
代码如下:
#include<iostream>
using namespace std;
int book[5][15];//用book数组来判断输入的之前是否已经输入过了
int main(){
int n;
cin>>n;
int zhen_n=0;//用来存储实际上我有的牌数
for(int i=1;i<=n;i++){
string s;
cin>>s;
int a,b;
//省略以下注释,对照原题即可
if(s[0]=='D')a=1;
if(s[0]=='H')a=2;
if(s[0]=='C')a=3;
if(s[0]=='S')a=4;
if(s[1]>='2'&&s[1]<='9')b=int(s[1]-'0');
if(s[1]=='A')b=1;
if(s[1]=='T')b=10;
if(s[1]=='J')b=11;
if(s[1]=='Q')b=12;
if(s[1]=='K')b=13;
if(book[a][b])continue;
zhen_n++;
book[a][b]=1;
}
cout<<52-zhen_n;//总共应有52张牌,用总共的减去已有的
return 0;
}
全部评论 1
我的代码应该算快的了吧
时间复杂度:O(n)1周前 来自 天津
0








有帮助,赞一个