10分代码:
#include<bits/stdc++.h>
using namespace std;
int n;
string s;
int a[4][55];
int ans;
int main() {
// freopen("poker.in","r",stdin);
// freopen("poker.out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++) {
cin>>s;
char a1=s[0];
char a2=s[1];
int s1,s2;
if(a1=='D') {
s1=1;
}
if(a1=='C') {
s1=2;
}
if(a1=='H') {
s1=3;
}
if(a1=='S') {
s1=4;
}
if(a2=='A') {
s2=1;
}
else if(a2=='T') {
s2=10;
}
else if(a2=='J') {
s2=11;
}
else if(a2=='Q') {
s2=12;
}
else if(a2=='K') {
s2=13;
} else {
s2=a2-'0';
}
if(!a[s1][s2]) {
ans++;
a[s1][s2]=1;
}
}
cout<<52-ans;
return 0;
}
100分代码:
#include<bits/stdc++.h> using namespace std; int n; int a[4][55]; int ans; string s; int main() { // freopen("poker.in","r",stdin); // freopen("poker.out","w",stdout); cin>>n; for(int i=1;i<=n;i++) {
cin>>s;
char a1=s[0];
char a2=s[1];
int s1,s2;
if(a1=='D') {
s1=1;
}
if(a1=='C') {
s1=2;
}
if(a1=='H') {
s1=3;
}
if(a1=='S') {
s1=4;
}
if(a2=='A') {
s2=1;
}
else if(a2=='T') {
s2=10;
}
else if(a2=='J') {
s2=11;
}
else if(a2=='Q') {
s2=12;
}
else if(a2=='K') {
s2=13;
} else {
s2=a2-'0';
}
if(!a[s1][s2]) {
ans++;
a[s1][s2]=1;
}
}
cout<<52-ans;
return 0;
} 两者不同的地方只有把字符串s的定义放在了ans的下面,九十分就没了??? 求大佬指教!!!