成绩累加排名,poj(2153)

it2022-05-09  32

题目链接:http://poj.org/problem?id=2153

 

解题报告:

注意map中的string,因此要将char[]转换为string型。

 

#include <iostream> #include <stdio.h> #include <string> #include <string.h> #include <algorithm> #include <map> using namespace std; const int maxn = 10010; char li[40]; int n,m; string name[maxn]; map<string,int > score; int main() { scanf("%d",&n); getchar(); for(int i=0;i<n;i++) { gets(li); name[i] = li; string st(li); score[st] = 0; } scanf("%d",&m); getchar(); char na[40]; strcpy(li,"Li Ming"); int mark; while(m--) { for(int i=0;i<n;i++) { int a; scanf("%d",&a); getchar(); gets(na); string st(na); score[st]+=a; if(strcmp(na,li)==0) mark=score[st]; } int rank=1; for(int i=0;i<n;i++) if(score[name[i]]>mark) rank++; printf("%d\n",rank); } return 0; }

 

转载于:https://www.cnblogs.com/TreeDream/p/5601631.html

相关资源:垃圾分类数据集及代码

最新回复(0)