1032. 挖掘机技术哪家强
2016-02-14 19:13
253 查看
为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。
输入格式:
输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。
输出格式:
在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
输入样例:
输出样例:
算法:
算法开始。
声明定义结构体,包括学校编号和比赛成绩。
读入参赛人数,i=0。
如果i>=参赛人数,则跳到第七步。
读入学校编号和比赛成绩。
i++。回到第四步。
用qsort()函数给该结构数组排序。
i=0。
如果i>=参赛人数,则跳到第十四步。
如果学校编号没有发生变化,则该参赛者成绩加到tmp中的分数中。跳到第十三步。
如果学校编号发生变化,则tmp中的分数与max中的分数进行比较,如果前者大于后者,则max=tmp。
tmp中的学校编号等于当前学校编号,tmp的成绩等于该参赛者的成绩。
i++,回到第九步。
输出学校编号和总成绩。
算法结束。
输入格式:
输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。
输出格式:
在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。
输入样例:
6 3 65 2 80 1 100 2 70 3 40 3 0
输出样例:
2 150
算法:
算法开始。
声明定义结构体,包括学校编号和比赛成绩。
读入参赛人数,i=0。
如果i>=参赛人数,则跳到第七步。
读入学校编号和比赛成绩。
i++。回到第四步。
用qsort()函数给该结构数组排序。
i=0。
如果i>=参赛人数,则跳到第十四步。
如果学校编号没有发生变化,则该参赛者成绩加到tmp中的分数中。跳到第十三步。
如果学校编号发生变化,则tmp中的分数与max中的分数进行比较,如果前者大于后者,则max=tmp。
tmp中的学校编号等于当前学校编号,tmp的成绩等于该参赛者的成绩。
i++,回到第九步。
输出学校编号和总成绩。
算法结束。
#include <stdio.h> #include <stdlib.h> typedef struct{ int index; int grade; }competitor; int cmp(const void* v1, const void* v2); int main(int argc, const char * argv[]) { int n,i; competitor* ptr; competitor tmp={0}, max={0}; scanf("%d",&n); ptr=(competitor*)calloc(n, sizeof(competitor)); for(i=0;i<n;i++){ scanf("%d %d", &(ptr[i].index), &(ptr[i].grade)); } qsort(ptr, n, sizeof(competitor), cmp); for(i=0; i<n; i++){ if(i==0){ tmp.index=ptr[i].index; tmp.grade=ptr[i].grade; } else if(tmp.index==ptr[i].index){ tmp.grade+=ptr[i].grade; } else if(tmp.index!=ptr[i].index){ if(max.grade<=tmp.grade){ max=tmp; } tmp.index=ptr[i].index; tmp.grade=ptr[i].grade; } } if(tmp.grade>max.grade){ max=tmp; } printf("%d %d", max.index, max.grade); return 0; } int cmp(const void* v1, const void* v2){ if(((competitor*)v1)->index>((competitor*)v2)->index){ return 1; } else if(((competitor*)v1)->index==((competitor*)v2)->index){ return 0; } else{ return -1; } }
相关文章推荐
- 如何清理Macbook垃圾文件
- 11. Container With Most Water LeetCode
- 关于在listView中优化的问题 更多方
- 网站复制
- C语言中的 (void*)0 与 (void)0
- Java认证考试实例疑难辨析(8)
- git中忽略UserInterfaceState.xcuserstate的方法
- VS调试ASP.NET浏览器会不断的发出POLL请求
- HDU 1709 The Balance(母函数)
- (一)利用processing创建基本图形
- HDU-1019-Least Common Multiple( 最大公约数 && 最小公倍数 && GCD )
- python开发学习-day05(正则深入、冒泡排序算法、自定义模块、常用标准模块)
- poj 2378 简单树形dp
- mysql笔记
- 【 bzoj 1797 】[Ahoi2009]Mincut 最小割 - 经典题
- 48. Rotate Image LeetCode
- spark笔记
- 图的基本概念
- 数位DP 计划
- android面试2