问题遇到的现象和发生背景
写2021团体程序设计天梯赛的L2-039 清点代码库一题,只用了string,没用容器什么的,然后得了18分qwq,
想问的问题:
①测试点4和测试点6是什么
②为什么从网上搜的所有答案都要用容器写qwq
问题相关代码,请勿粘贴截图
#include<iostream>
#include<algorithm>
using namespace std;
struct codes{
string a;
int count;
}c[100010],d[100010];
bool cmp(codes x,codes y){
if(x.count==y.count) return x.a<y.a;
return x.count>y.count;
}
int main()
{
int n,m;
cin>>n>>m;
getchar();
for(int i=0;i<n;i++){
getline(cin,c[i].a);
c[i].count=1;
}
sort(c,c+n,cmp);
int cnt=0;
for(int i=1;i<=n;i++){
if(c[i].a==c[i-1].a)
c[i].count+=c[i-1].count;
else{
int sum=1,len=c[i-1].a.length();
for(int j=0;j<len;j++)
if(c[i-1].a[j]==' '){
if(c[i-1].a[j+1]==' ') break;
sum++;
}
if(sum==m){
d[cnt].a=c[i-1].a;
d[cnt++].count=c[i-1].count;
}
}
}
sort(d,d+cnt,cmp);
cout<<cnt<<endl;
for(int i=0;i<cnt;i++) cout<<d[i].count<<" "<<d[i].a<<endl;
return 0;
}