当时切赛的时候看到就想到了map。。可惜太水了。。忘记map怎么用了。。。。
题意就是:第一行为学生数目n,接下来的n行为学生的名字,然后整数m为测试次数,最后输出每次李明的排名
就是map啊。。。【很水的说】
就是输入卡了我一个小时。。最后发现死在了一个getchar上。。。欲哭无泪啊
#include <cstring> #include <cstdio> #include <iostream> #include <map> using namespace std; const int maxn=10010; string name[maxn],str; int m,n,score,li=0; map<string,int>student; int main() { while(scanf("%d",&n)!=EOF) { getchar(); for(int i=0;i<n;i++) { getline(cin,str); name[i]=str; student[str]=0; } scanf("%d",&m); while(m--) { for(int i=0;i<n;i++) { scanf("%d",&score); getchar(); getline(cin,str); student[str]+=score; if(str=="Li Ming") li=student[str]; } int ans=1; for(int i=0;i<n;i++) { if(student[name[i]]>li) ans++; } printf("%d\n",ans); } } }