简单模拟题。

注意一点:如果一个人所有提交的代码都没编译通过,那么这个人不计排名。

如果一个人提交过的代码中有编译不通过的,也有通过的,那么那份编译不通过的记为0分。

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<cmath>
  4. #include<vector>
  5. #include<map>
  6. #include<stack>
  7. #include<queue>
  8. #include<string>
  9. #include<algorithm>
  10. using namespace std;
  11.  
  12. const int maxn=+;
  13. int n,k,m;
  14. int val[];
  15.  
  16. struct X
  17. {
  18. int Rank;
  19. int num;
  20. int id;
  21. int tot;
  22. int get[];
  23. }s[maxn],ans[maxn];
  24. int sz;
  25.  
  26. bool cmp(const X&a,const X&b)
  27. {
  28. if(a.tot==b.tot&&a.num==b.num) return a.id<b.id;
  29. if(a.tot==b.tot) return a.num>b.num;
  30. return a.tot>b.tot;
  31. }
  32.  
  33. int main()
  34. {
  35. scanf("%d%d%d",&n,&k,&m);
  36. for(int i=;i<=k;i++) scanf("%d",&val[i]);
  37. for(int i=;i<=n;i++)
  38. {
  39. s[i].id=i;
  40. s[i].num=;
  41. s[i].tot=;
  42. for(int j=;j<=k;j++) s[i].get[j]=-;
  43. }
  44.  
  45. for(int i=;i<=m;i++)
  46. {
  47. int id,pro,get;
  48. scanf("%d%d%d",&id,&pro,&get);
  49. s[id].get[pro]=max(s[id].get[pro],get);
  50. }
  51.  
  52. sz=;
  53. for(int i=;i<=n;i++)
  54. {
  55. int fail=;
  56. for(int j=;j<=k;j++)
  57. if(s[i].get[j]>=) fail=;
  58. if(fail==) continue;
  59. ans[sz++]=s[i];
  60. }
  61.  
  62. for(int i=;i<sz;i++)
  63. for(int j=;j<=k;j++)
  64. if(ans[i].get[j]==-) ans[i].get[j]=;
  65.  
  66. for(int i=;i<sz;i++)
  67. {
  68. for(int j=;j<=k;j++)
  69. {
  70. if(ans[i].get[j]==-) continue;
  71. ans[i].tot=ans[i].tot+ans[i].get[j];
  72. if(ans[i].get[j]==val[j]) ans[i].num++;
  73. }
  74. }
  75.  
  76. sort(ans,ans+sz,cmp);
  77.  
  78. ans[].Rank=;
  79. for(int i=;i<sz;i++)
  80. {
  81. if(ans[i].tot==ans[i-].tot)
  82. ans[i].Rank=ans[i-].Rank;
  83. else ans[i].Rank=i+;
  84. }
  85.  
  86. for(int i=;i<sz;i++)
  87. {
  88. printf("%d %05d %d",ans[i].Rank,ans[i].id,ans[i].tot);
  89. for(int j=;j<=k;j++)
  90. {
  91. printf(" ");
  92. if(ans[i].get[j]==-) printf("-");
  93. else printf("%d",ans[i].get[j]);
  94. }
  95. printf("\n");
  96. }
  97.  
  98. return ;
  99. }

PAT (Advanced Level) 1075. PAT Judge (25)的更多相关文章

  1. PTA(Advanced Level)1075.PAT Judge

    The ranklist of PAT is generated from the status list, which shows the scores of the submissions. Th ...

  2. PAT (Advanced Level) 1114. Family Property (25)

    简单DFS. #include<cstdio> #include<cstring> #include<cmath> #include<vector> # ...

  3. PAT (Advanced Level) 1109. Group Photo (25)

    简单模拟. #include<cstdio> #include<cstring> #include<cmath> #include<vector> #i ...

  4. PAT (Advanced Level) 1105. Spiral Matrix (25)

    简单模拟. #include<cstdio> #include<cstring> #include<cmath> #include<map> #incl ...

  5. PAT (Advanced Level) 1101. Quick Sort (25)

    树状数组+离散化 #include<cstdio> #include<cstring> #include<cmath> #include<map> #i ...

  6. PAT (Advanced Level) 1071. Speech Patterns (25)

    简单题. #include<cstdio> #include<cstring> #include<cmath> #include<vector> #in ...

  7. PAT (Advanced Level) 1063. Set Similarity (25)

    读入之后先排序. 询问的时候可以o(m)效率得到答案. #include<cstdio> #include<cstring> #include<cmath> #in ...

  8. PAT (Advanced Level) 1059. Prime Factors (25)

    素因子分解. #include<iostream> #include<cstring> #include<cmath> #include<algorithm& ...

  9. PAT (Advanced Level) 1051. Pop Sequence (25)

    简单题. #include<iostream> #include<cstring> #include<cmath> #include<algorithm> ...

随机推荐

  1. linux查看内核版本

    cat /proc/version 或者 cat /etc/issue 或者 uname -a

  2. EDD-SPT综合规则

    关于生产运作的计算题· 很急 谢谢·有7项任务需经某设备加工,各任务资料如下.要求:(1)试用EDD-SPT综合规则确定加工顺序(2)分别计算两种规则下的平均流程时间. 任务 J1 J2 J3 J4 ...

  3. 图片特效-仿 iPhone 图片查看器效果

    —————————————————————— <script type="text/javascript">                    var arr = ...

  4. hdu_4823_Energy Conversion

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4823 题意:中文题,很清楚,要注意的是乘起来会爆int 题解: #include<cstdio& ...

  5. List------Linked 链表

    1.Definition Linked list consists of a series of nodes. Each nodes contains the element and a pointe ...

  6. lua学习

    在lua中,一切都是变量,除了关键字. 1.注释: 单行注释: 连续两个减号“--”表示注释的开始,一直延续到行末.相当于C语言中的“//” 多行注释:由“--[[”表示注释开始, “]]”表示注释结 ...

  7. (转) 三个nginx配置问题的解决方案

    今天开启了nginx的error_log,发现了三个配置问题: 问题一: 2011/07/18 17:04:37 [warn] 2422#0: *171505004 an upstream respo ...

  8. asp.net textbox控件readonly为true时,后台取值的问题

    如题,在后台通过textbox.Text方式取值为空,不论你默认值是否是空,如想要获得,需通过request.Form[""]的方式.

  9. ado vb6

    http://www.cnblogs.com/ywb-lv/articles/2343444.html http://stackoverflow.com/questions/3334102/use-t ...

  10. Windows下MySQL分步安装图解及问题总结

    MySQL是一个出色的开源数据库,在易用性和性能方面都有相当不错的表现.就作者发帖为止, MySQL官方发布的所有版本中(4.1/5.0/5.1/6.0),推荐使用稳定的MySQL5.0版本(商用). ...