首页 > 学院 > 开发设计 > 正文

1047. 编程团体赛(20)

2019-11-06 08:23:19
字体:
来源:转载
供稿:网友

1047. 编程团体赛(20)

时间限制400 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CHEN, Yue

编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。

现给定所有队员的比赛成绩,请你编写程序找出冠军队。

输入格式:

输入第一行给出一个正整数N(<=10000),即所有参赛队员总数。随后N行,每行给出一位队员的成绩,格式为:“队伍编号-队员编号 成绩”,其中“队伍编号”为1到1000的正整数,“队员编号”为1到10的正整数,“成绩”为0到100的整数。

输出格式:

在一行中输出冠军队的编号和总成绩,其间以一个空格分隔。注意:题目保证冠军队是唯一的。

输入样例:
63-10 9911-5 87102-1 0102-3 10011-9 893-2 61输出样例:
11 176
#include <iostream>#include <string>#include <string.h>#include <cmath>#include <algorithm>using namespace std;int StirngtoInt(string str){    int sum=0;    for(int i=str.size()-1,j=0;i>=0;i--,j++){        sum+=pow(10,j)*(str[i]-'0');    }    return sum;}bool cmp(int a,int b){    return a<b;}int main(){    int N;    cin>>N;    int a[10001]={0};    for(int i=0;i<N;i++){        string str;        int Grade;        cin>>str>>Grade;        for(int j=0;j<str.size();j++){            if(str[j]=='-'){                string temp = str.substr(0,j);                int Bianhao = StirngtoInt(temp);                a[Bianhao]+=Grade;                break;            }        }    }    int max = 0;    int Position = 0;    for(int i=0;i<sizeof(a)/sizeof(int);i++){        if(a[i]>max){            max = a[i];            Position = i;        }    }    cout<<Position<<" "<<max<<endl;    return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表