KXY_Moon
2024-10-29 09:49:34
考试地点离学校很近,坐 bus 十分钟就到了。
感觉自己好菜啊,估计拿不到入门一等。
好慌。
一开始想用统计的方法,先开个数组记录每种张牌的张数,在遍历数组,简单判断一下就好了。
时间复杂度:
#include<bits/stdc++.h>
using namespace std;
int n,s[15][60],cnt;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
char op,d;
cin>>op>>d;
if(op=='D')
{
if(d=='J') ++s[1][11];
if(d=='Q') ++s[1][12];
if(d=='K') ++s[1][13];
if(d=='T') ++s[1][10];
else ++s[1][d-'0'];
}
if(op=='C')
{
if(d=='J') ++s[2][11];
if(d=='Q') ++s[2][12];
if(d=='K') ++s[2][13];
if(d=='T') ++s[2][10];
else ++s[2][d-'0'];
}
if(op=='H')
{
if(d=='J') ++s[3][11];
if(d=='Q') ++s[3][12];
if(d=='K') ++s[3][13];
if(d=='T') ++s[3][10];
else ++s[3][d-'0'];
}
else
{
if(d=='J') ++s[4][11];
if(d=='Q') ++s[4][12];
if(d=='K') ++s[4][13];
if(d=='T') ++s[4][10];
else ++s[4][d-'0'];
}
}
for(int i=1;i<=4;i++)
for(int j=1;j<=13;j++)
if(s[i][j]) cnt++;
cout<<52-cnt-1;
return 0;
}
期望得分:
后来想正解,想到 STL 中的集合自动去除相同的元素,当时真是开心极了。
#include <bits/stdc++.h>
using namespace std;
const int sum=52;
long long n;set <string> k;
int main()
{
string t;
ios::sync_with_stdio(0);cin.tie(0);
cin>>n;
for (int i=1;i<=n;i++){
cin>>t;
k.insert(t);
}
cout<<sum-k.size()<<'\n';
return 0;
}
期望得分:
时间复杂度:
不多说了,大模拟。
正解不会。
我观察到了特殊性质 A,写了个骗分。
只要
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll t,n;
int main(){
ios::sync_with_stdio(0);cin.tie(0);
cin>>t;
while(t--)
{
cin>>n;
if(n%7==0)
{
int k=n/7;
for(int i=1;i<=k;i++)cout<<8;
cout<<'\n';
}
}
return 0;
}
期望得分:
T4 不会。
至此,CSP-J 估分:
End.