题解
【入门】宇宙总统2
1 条题解
-
0
#include<bits/stdc++.h> using namespace std; long long n,p;string b[9999]; struct zt{ string xm; long long ps; }a[9999]; int cnd(zt c,zt d){ if(c.ps!=d.ps){ return c.ps>d.ps; } return c.xm>d.xm; } int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>b[i];//读入名字 } sort(b+1,b+n+1);//对名字排序 for(int i=1;i<=n;i++){// if(b[i]!=b[i-1]){ a[++p].xm=b[i];//统计单个名字 } } for(int i=1;i<=n;i++){ for(int j=1;j<=p;j++){ if(b[i]==a[j].xm){//找到对应名字 a[j].ps++;//当前人的票数增加 } } } sort(a+1,a+n+1,cnd);//按名字排序 for(int i=1;i<=p;i++){ cout<<a[i].xm<<" "<<a[i].ps<<endl; } return 0; }
- 1