1047. 编程团体赛
2016-02-24 23:11
316 查看
编程团体赛的规则为:每个参赛队由若干队员组成;所有队员独立比赛;参赛队的成绩为所有队员的成绩和;成绩最高的队获胜。
现给定所有队员的比赛成绩,请你编写程序找出冠军队。
输入格式:
输入第一行给出一个正整数N(<=10000),即所有参赛队员总数。随后N行,每行给出一位队员的成绩,格式为:“队伍编号-队员编号 成绩”,其中“队伍编号”为1到1000的正整数,“队员编号”为1到10的正整数,“成绩”为0到100的整数。
输出格式:
在一行中输出冠军队的编号和总成绩,其间以一个空格分隔。注意:题目保证冠军队是唯一的。
输入样例:
输出样例:
算法:
算法开始。
读取N。
如果i不小于N,则跳到第六步。
读入队伍编号和队员成绩,array[队伍编号]+=队员成绩。
i加一,回到第三步。
查找总成绩最高的队伍,输出冠军队伍的编号和总成绩。
算法结束。
算法时间复杂度O(n),空间复杂度O(1)。
下列代码编写于VS2015,修改scanf_s即可在PAT上AC。
现给定所有队员的比赛成绩,请你编写程序找出冠军队。
输入格式:
输入第一行给出一个正整数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
算法:
算法开始。
读取N。
如果i不小于N,则跳到第六步。
读入队伍编号和队员成绩,array[队伍编号]+=队员成绩。
i加一,回到第三步。
查找总成绩最高的队伍,输出冠军队伍的编号和总成绩。
算法结束。
算法时间复杂度O(n),空间复杂度O(1)。
下列代码编写于VS2015,修改scanf_s即可在PAT上AC。
#include <stdio.h> #include <stdlib.h> int main(void) { int n, i, team, grade, member; int max = 0, maxGrade = -1; int* array = (int*)calloc(1001, sizeof(int));; scanf_s("%d", &n); for (i = 0; i < n; i++) { scanf_s("%d-%d %d", &team, &member, &grade); if (team > 0 && team <= 1000 && member >= 1 && member <= 10 && grade >= 0 && grade <= 100) { array[team] += grade; } } for (i = 0; i < 1001; i++) { if (array[i] > maxGrade) { max = i; maxGrade = array[i]; } } printf("%d %d", max, maxGrade);
free(array); return 0; }
相关文章推荐
- 各种排序算法的分析及java实现
- 在VertrigoSev中搭建Testlink全过程
- sublime 安装 php xdebug
- Java堆外内存之突破JVM枷锁
- C#Winform读取txt文件
- [Python入门]Chapter8 字符串
- 初来驾到学JAVA继承初识
- 关于PHP+MYSQL开发时出现的乱码问题
- C++学习笔记48——继承中的构造函数
- golang 的 channel 实现 生产者/消费者 模型
- 从C++转向java——3、判断与比较
- 初来驾到学java修饰符的使用
- 关于C++中智能指针与类型推导的说明
- PAT-1036 跟奥巴马一起编程
- [Python入门]Chapter7 迭代器
- error LNK2019: 无法解析的外部符号 (C++编程出现问题的解决办法)
- 四种武器--大数据与R,python,SAS,SPSS的关系?
- 四种武器--大数据与R,python,SAS,SPSS的关系?
- PHP-002
- python(3)-集合