简单模拟题。

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

如果一个人提交过的代码中有编译不通过的,也有通过的,那么那份编译不通过的记为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. mysql 表连接

    1.子查询是指在另一个查询语句中的SELECT子句. 例句: SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2); 其中,SELECT ...

  2. ldap基本命令

    前端数据如下: ### frontend.ldif ### dn: dc=ldap,dc=example,dc=com objectclass: top objectclass: dcObject o ...

  3. Codeforces Round #364 (Div. 2) D. As Fast As Possible

     D. As Fast As Possible time limit per test 1 second memory limit per test 256 megabytes input stand ...

  4. LeetCode OJ 199. Binary Tree Right Side View

    Given a binary tree, imagine yourself standing on the right side of it, return the values of the nod ...

  5. HDU1711:Number Sequence

    Problem Description Given two sequences of numbers : a[1], a[2], ...... , a[N], and b[1], b[2], .... ...

  6. docker !veth

    https://github.com/docker/docker/issues/11889

  7. redhat 安装GCC-4.8.3

    1.下载gcc-4.8.3安装包 gcc各版本浏览地址:http://ftp.gnu.org/gnu/gcc/ yum install gccyum install gcc-c++ 2.将gcc-4. ...

  8. MySQL、SQLServer2000(及SQLServer2005)和ORCALE三种数据库实现分页查询的方法

    在这里主要讲解一下MySQL.SQLServer2000(及SQLServer2005)和ORCALE三种数据库实现分页查询的方法. 可能会有人说这些网上都有,但我的主要目的是把这些知识通过我实际的应 ...

  9. oracle-查询执行速度慢的sql

    Oracle 查询每天执行慢的SQL 2014-12-11 18:00:04 分类: Oracle 链接:http://blog.itpub.net/28602568/viewspace-136484 ...

  10. ntp源码解读(一)

    /* * session_key - generate session key * * This routine generates a session key from the source add ...