解题思路:以map的value排序,如果成绩相同把DaDa放前面去,再找出DaDa在Map当中的位置+1即可。
注意事项:
参考代码:
#include <bits/stdc++.h> using namespace std; typedef pair<string,int>Pair; bool cmp(const Pair &a,const Pair &b){ if(a.second==b.second){ if(b.first.compare("DaDa")==0)return 0; else return 1; } return a.second>b.second; } int main(){ //freopen("f:/123.txt","r",stdin); map<string,int>mp; int n,m; cin>>n; int t=n; string x; while(t--){ cin>>x; mp[x]=0; } cin>>m; while(m--){ for(int i=0;i<n;i++){ string name; int score; cin>>score>>name; mp[name]+=score; } vector<Pair>v(mp.begin(),mp.end()); sort(v.begin(),v.end(),cmp); vector<Pair>::iterator it; for(it=v.begin();it!=v.end();it++){ if(it->first.compare("DaDa")==0){ cout<<it-v.begin()+1<<endl; break; } } } }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:597 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:627 |
printf基础练习2 (C语言代码)浏览:605 |
C语言训练-排序问题<2> (C++代码)浏览:935 |
C语言训练-排序问题<1> (C++代码)浏览:632 |
C语言训练-数字母 (C语言代码)浏览:610 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:466 |
C语言训练-自由落体问题 (C语言代码)浏览:1775 |
C语言程序设计教程(第三版)课后习题1.6 (C++代码)浏览:909 |
WU-蓝桥杯算法提高VIP-交换Easy (C++代码)浏览:1186 |