入门题解 | 新建文件夹(1)
2024-08-12 15:34:03
发布于:上海
27阅读
0回复
0点赞
#include <iostream>
#include <algorithm>
using namespace std;
struct x{
string s;
int i,cnt=0;
}a[200005];
bool cmp(x a,x b){
if(a.s!=b.s) return a.s>b.s;
else return a.i<b.i;
}
bool cpm(x a,x b){
return a.i<b.i;
}
int main() {
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].s;
a[i].i=i;
}
sort(a+1,a+n+1,cmp);
for(int i=2;i<=n;i++){
if(a[i].s==a[i-1].s) a[i].cnt=a[i-1].cnt+1;
}
sort(a+1,a+n+1,cpm);
for(int i=1;i<=n;i++){
cout<<a[i].s;
if(a[i].cnt!=0) cout<<'('<<a[i].cnt<<')';
cout<<endl;
}
return 0;
}
你们自己看吧(祝你们看懂,我懒得写注释了)
顺便说一句,我的内存暂时是最低的,真不错!!!
全部评论 1
看不懂的给我点个赞吧(看懂的也点个赞哦)
2024-08-12 来自 上海
0
有帮助,赞一个