记录编号 113293 评测结果 AAAAAAAAAA
题目名称 [NOIP 2007]奖学金 最终得分 100
用户昵称 Gravatar1azyReaper 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2014-07-21 09:45:51 内存使用 0.32 MiB
显示代码纯文本
  1. #include <fstream>
  2. #include <algorithm>
  3. #define MAX 312
  4. using namespace std;
  5. ifstream fin("pj07-1.in");
  6. ofstream fout("pj07-1.out");
  7. class node
  8. {
  9. public:
  10. //string name;
  11. int number;
  12. int chn,eng,mat;
  13. int all;
  14. }x[MAX];
  15. bool cmp(node a,node b)
  16. {
  17. if(a.all>b.all)
  18. return true;
  19. else
  20. return false;
  21. }
  22. bool cmp1(node a,node b)
  23. {
  24. if(a.chn>b.chn&&a.all>=b.all)
  25. return true;
  26. else
  27. return false;
  28. }
  29. bool cmp2(node a,node b)
  30. {
  31. if(a.number<b.number)
  32. return true;
  33. else
  34. return false;
  35. }
  36. int main()
  37. {
  38. int n;
  39. fin>>n;
  40. for(int i=1;i<=n;i++)
  41. {
  42. fin>>x[i].chn>>x[i].eng>>x[i].mat;
  43. x[i].number=i;
  44. }//read
  45. for(int i=1;i<=n;i++)
  46. {
  47. x[i].all=x[i].chn+x[i].eng+x[i].mat;
  48. }
  49. sort(x+1,x+n+1,cmp);
  50. for(int i=1;i<=n;i++)
  51. {
  52. if(x[i].all==x[i+1].all)
  53. {
  54. sort(x+i,x+3+i,cmp1);
  55. }
  56. }
  57. for(int i=1;i<=n;i++)
  58. {
  59. if(x[i].all==x[i+1].all&&x[i].chn==x[i+1].chn)
  60. {
  61. sort(x+i,x+3+i,cmp2);
  62. }
  63. }
  64. for(int i=1;i<=5;i++)
  65. {
  66. fout<<x[i].number<<' '<<x[i].all<<endl;
  67. }
  68. fin.close();
  69. fout.close();
  70. return 0;
  71. }