【双循环判断】#2 A. Winner
来源:互联网 发布:mac 所有应用 编辑:程序博客网 时间:2024/05/22 06:41
依然是得瑟的来一个Python2.7代码^_^
# define some variable n = int(raw_input()) maxScore = {} input = [] # n times input while n > 0: list = raw_input().split() input.append(list) name = list[0] score = int(list[1]) if maxScore.has_key(name): maxScore[name] += score else: maxScore[name] = score n -= 1 # find maxScore = ans ans = 0 for key in maxScore: ans = max(ans , maxScore[key]) # def to find the time >= ans def getTime(str): sum = 0 cnt = 0 for list in input: name = list[0] score = int(list[1]) if name == str: sum += score if sum >= ans: return cnt cnt += 1 # one by one if score == ans time = 2147483647 for key in maxScore: if maxScore[key] == ans: t = getTime(key) if time > t: time = t ansName = key # output print ansName
然后是C++:
这道题其实几个循环就好:循环读入咱们就不算了,循环1st判断最高值是哪个,循环2nd找到第一次超过这个最高值的是谁,然后,把他给我扔出去!!!
#include <iostream>#include <map>#include <string.h>#include <algorithm>using namespace std;int score[1010];map<string, int> p1,p2;string name[1010];int main(){ int n,i,j; while(cin>>n) { int m = 0; for(i = 0;i < n;i ++) { cin>>name[i]>>score[i]; p1[name[i]] += score[i]; } for(i = 0;i < n;i ++) if(p1[name[i]] > m) m = p1[name[i]]; for(i = 0;i < n;i ++) { p2[name[i]] += score[i]; if(p2[name[i]] >= m&&p1[name[i]] == m) { cout<<name[i]<<endl; break; } } }}
0 0
- 【双循环判断】#2 A. Winner
- CF 2A Winner
- codeforce 2A Winner
- codeforces 2A Winner
- CODEFORCES 2A-Winner
- coderforce 2A-Winner
- codeforces 2A. Winner
- Codeforces 2A Winner
- codeforces 2A Winner
- codeforces 2-A Winner
- codeforces 2A.Winner
- Codeforces 2A. Winner
- 2A - Winner
- Codeforces 2A :winner
- CodeForces 2A-Winner
- 【codeforces#2A】Winner
- cf 2a Winner
- cf #2 A. Winner
- 在spring.xml中向类里的成员变量注入得注意什么
- yt13递推Children’s Queue (大数)
- 纽约时报访谈:如何在Google得到一份工作
- UUID.randomUUID()方法介绍
- 查找兄弟单词
- 【双循环判断】#2 A. Winner
- jQuery-$.post 的路径问题
- php传json格式给C++时乱码解决方案
- 第三章作业
- struts2 异常处理总结
- 深入理解Java内存模型(四)——volatile
- 文章道歉声明创微博纪录 单条10小时互动超250万
- C++第四周作业
- Myeclipse配置hadoop开发及遇到的问题