codeforces 2A Winner (好好学习英语)
Winner
题目链接:http://codeforces.com/contest/2/problem/A
——每天在线,欢迎留言谈论。
题目大意:
最后结果的最高分 maxscore。在最后分数都为最高分maxscore的玩家中,找那个先得分>=maxscore 的玩家。。。。
o.o...折腾了一天,题意没搞懂。。。
思路:
模拟,没啥思路。此随笔纯粹感慨。。。
AC代码:
1 #include <iostream> 2 #include <map> 3 #include <string> 4 using namespace std; 5 struct record 6 { 7 string s; 8 int score; 9 record():s(""),score(0){} 10 }; 11 map<string,int> map1,maptemp; 12 record rec[1050]; 13 int main() 14 { 15 int n,a,maxscore; 16 string ss; 17 cin>>n; 18 for(int i=0;i<n;i++) 19 { 20 cin>>ss>>a; 21 map1[ss]+=a; 22 //cout<<ss<<":"<<map1[ss]<<endl; 23 rec[i].s=ss; 24 rec[i].score=a; 25 } 26 maxscore=map1[rec[0].s]; 27 for(int i=1;i<n;i++) 28 if(map1[rec[i].s]>maxscore) 29 maxscore=map1[rec[i].s]; 30 for(int i=0;i<n;i++) 31 { 32 maptemp[rec[i].s]+=rec[i].score; 33 if(map1[rec[i].s]==maxscore&&maptemp[rec[i].s]>=maxscore) 34 {cout<<rec[i].s<<endl;return 0;} 35 } 36 return 0; 37 }
2017-05-10 00:47:32