编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。现给定所有队员的比赛成绩,请你编写程序找出冠军队。
输入格式:
输入第一行给出一个正整数N(<=10000),即所有参赛队员总数。随后N行,每行给出一位队员的成绩,格式为:“队伍编号-队员编号 成绩”,其中“队伍编号”为1到1000的正整数,“队员编号”为1到10的正整数,“成绩”为0到100的整数。
输出格式:
在一行中输出冠军队的编号和总成绩,其间以一个空格分隔。注意:题目保证冠军队是唯一的。
输入样例:
6
3-10 99
11-5 87
102-1 0
102-3 100
11-9 89
3-2 61
输出样例:
11 176
分析:用team数组保存每个队伍的总得分,输入的时候将成绩score累加到队伍编号t的team[t]中,比较team数组中所有得分,将最大值的下标保存在max中,最后输出最高分的队伍编号max和对应的总得分team[max]~
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <iostream> using namespace std; int main() { int n, t, num, score; cin >> n; int team[1001] = {0}; for (int i = 1; i <= n; i++) { scanf("%d-%d %d", &t, &num, &score); team[t] += score; } int max = 0; for (int i = 0; i < 1001; i++) { if (team[max] < team[i]) max = i; } cout << max << " " << team[max]; return 0; } |
❤ 点击这里 -> 订阅《PAT | 蓝桥 | LeetCode学习路径 & 刷题经验》by 柳婼