NEUQ 1432: 土豪学长算成绩
来源:互联网 发布:bt下载软件苹果 编辑:程序博客网 时间:2024/06/10 09:39
1432: 土豪学长算成绩
时间限制: 1 Sec 内存限制: 128 MB题目描述
给协会里的同学排成绩对于土豪学长来说总是一个很麻烦的事情,因为土豪学长不会使用excel表格,所以每次他都是手工排序的。现在协会的人数越来越多,手工排序变的不现实了,他希望你能够帮他写一个程序给同学们拍名次。考试的科目有语文,数学,英语,物理,化学,生物。首先按照总分排序,总分一样的按照语文分排序,语文分一样的按照数学排序,以此类推,科目的优先级:语文,数学,英语,物理,化学,生物,如果几门课的分数都一样,那么按照学生的编号排序(序号小的排前面)
输入
有多组输入数据。 每组数据第一行一个数字n,表示学生的个数。接下来n行,每行6个整数,分别对应上面的六门科目。学生按照输入顺序从1到n编号。当n为0的时候结束。六门科目分数的范围从0到100(包含),0<=n<=10000
输出
学生的id按照排名输出,每组数据的输出占一行。从第一名到最后一名输出。
样例输入
3100 100 100 100 100 10099 99 99 99 99 9988 88 88 88 88 880
样例输出
1 2 3
提示
来源
xzx
分析:
1、题目意思很好理解,开始的时候想的太复杂了。
2、简单题,调用STL排序函数,重写cmp就搞定啦!
LANGUAGE:C++
CODE:
#include <iostream>#include <algorithm>using namespace std;struct node{ int num; int g[6]; int sum;};int cmp(node a,node b){ if(a.sum==b.sum){ for(int i=0;i<6;i++){ if(a.g[i]!=b.g[i]) return a.g[i]<b.g[i]; } return a.num<b.num; } else return a.sum<b.sum;}int main(){ int n; while(cin>>n&&n!=0) { node q[10005]; for(int i=0;i<n;i++){ q[i].sum=0; for(int j=0;j<6;j++){ cin>>q[i].g[j]; q[i].sum+=q[i].g[j]; } q[i].num=i+1; } sort(q,q+n,cmp); for(int i=n-1;i>=0;i--) cout<<q[i].num<<' '; cout<<endl; } return 0;}
0 0
- NEUQ 1432: 土豪学长算成绩
- 祝贺两个学长软考成绩顺利通过
- 土豪银行
- 1105土豪
- NEUQ 1096: NEUQ的邮票
- neuq 1096 NEUQ的邮票
- 学长说
- 学长启蒙
- excel2007之算成绩
- 成绩~
- 成绩
- 成绩
- 成绩
- 成绩
- 成绩
- 俞敏洪:“土豪”与“士族”
- 土豪的尴尬
- 土豪的定义
- Testing Method - 读书笔记 (一 )
- 《js动画效果》之透明度动画
- 斐波那契数列
- 《js动画效果》之速度动画
- git学习小结
- NEUQ 1432: 土豪学长算成绩
- 《js事件探秘》学习——实现抽奖系统
- UVA - 10624 Super Number 暴力
- java学习要点_集合
- 《js事件探秘》学习——鼠标跟随事件demo
- tomcat配置及优化
- 什么是Cocoa 什么是Xcode 什么是Framework?
- 《JS事件探秘》学习——基础知识练习及总结
- 模块化编程--函数(4.30)