记录编号 |
113293 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[NOIP 2007]奖学金 |
最终得分 |
100 |
用户昵称 |
1azyReaper |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.003 s |
提交时间 |
2014-07-21 09:45:51 |
内存使用 |
0.32 MiB |
显示代码纯文本
- #include <fstream>
- #include <algorithm>
- #define MAX 312
- using namespace std;
- ifstream fin("pj07-1.in");
- ofstream fout("pj07-1.out");
- class node
- {
- public:
- //string name;
- int number;
- int chn,eng,mat;
- int all;
- }x[MAX];
- bool cmp(node a,node b)
- {
- if(a.all>b.all)
- return true;
- else
- return false;
- }
- bool cmp1(node a,node b)
- {
- if(a.chn>b.chn&&a.all>=b.all)
- return true;
- else
- return false;
- }
- bool cmp2(node a,node b)
- {
- if(a.number<b.number)
- return true;
- else
- return false;
- }
- int main()
- {
- int n;
- fin>>n;
- for(int i=1;i<=n;i++)
- {
- fin>>x[i].chn>>x[i].eng>>x[i].mat;
- x[i].number=i;
- }//read
- for(int i=1;i<=n;i++)
- {
- x[i].all=x[i].chn+x[i].eng+x[i].mat;
- }
- sort(x+1,x+n+1,cmp);
- for(int i=1;i<=n;i++)
- {
- if(x[i].all==x[i+1].all)
- {
- sort(x+i,x+3+i,cmp1);
- }
- }
- for(int i=1;i<=n;i++)
- {
- if(x[i].all==x[i+1].all&&x[i].chn==x[i+1].chn)
- {
- sort(x+i,x+3+i,cmp2);
- }
- }
- for(int i=1;i<=5;i++)
- {
- fout<<x[i].number<<' '<<x[i].all<<endl;
- }
- fin.close();
- fout.close();
- return 0;
- }