记录编号 | 113293 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | [NOIP 2007]奖学金 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | 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; }