PAT (Advanced Level) 1075. PAT Judge (25)
简单模拟题。
注意一点:如果一个人所有提交的代码都没编译通过,那么这个人不计排名。
如果一个人提交过的代码中有编译不通过的,也有通过的,那么那份编译不通过的记为0分。
#include<cstdio>
#include<cstring>
#include<cmath>
#include<vector>
#include<map>
#include<stack>
#include<queue>
#include<string>
#include<algorithm>
using namespace std; const int maxn=+;
int n,k,m;
int val[]; struct X
{
int Rank;
int num;
int id;
int tot;
int get[];
}s[maxn],ans[maxn];
int sz; bool cmp(const X&a,const X&b)
{
if(a.tot==b.tot&&a.num==b.num) return a.id<b.id;
if(a.tot==b.tot) return a.num>b.num;
return a.tot>b.tot;
} int main()
{
scanf("%d%d%d",&n,&k,&m);
for(int i=;i<=k;i++) scanf("%d",&val[i]);
for(int i=;i<=n;i++)
{
s[i].id=i;
s[i].num=;
s[i].tot=;
for(int j=;j<=k;j++) s[i].get[j]=-;
} for(int i=;i<=m;i++)
{
int id,pro,get;
scanf("%d%d%d",&id,&pro,&get);
s[id].get[pro]=max(s[id].get[pro],get);
} sz=;
for(int i=;i<=n;i++)
{
int fail=;
for(int j=;j<=k;j++)
if(s[i].get[j]>=) fail=;
if(fail==) continue;
ans[sz++]=s[i];
} for(int i=;i<sz;i++)
for(int j=;j<=k;j++)
if(ans[i].get[j]==-) ans[i].get[j]=; for(int i=;i<sz;i++)
{
for(int j=;j<=k;j++)
{
if(ans[i].get[j]==-) continue;
ans[i].tot=ans[i].tot+ans[i].get[j];
if(ans[i].get[j]==val[j]) ans[i].num++;
}
} sort(ans,ans+sz,cmp); ans[].Rank=;
for(int i=;i<sz;i++)
{
if(ans[i].tot==ans[i-].tot)
ans[i].Rank=ans[i-].Rank;
else ans[i].Rank=i+;
} for(int i=;i<sz;i++)
{
printf("%d %05d %d",ans[i].Rank,ans[i].id,ans[i].tot);
for(int j=;j<=k;j++)
{
printf(" ");
if(ans[i].get[j]==-) printf("-");
else printf("%d",ans[i].get[j]);
}
printf("\n");
} return ;
}
PAT (Advanced Level) 1075. PAT Judge (25)的更多相关文章
- PTA(Advanced Level)1075.PAT Judge
The ranklist of PAT is generated from the status list, which shows the scores of the submissions. Th ...
- PAT (Advanced Level) 1114. Family Property (25)
简单DFS. #include<cstdio> #include<cstring> #include<cmath> #include<vector> # ...
- PAT (Advanced Level) 1109. Group Photo (25)
简单模拟. #include<cstdio> #include<cstring> #include<cmath> #include<vector> #i ...
- PAT (Advanced Level) 1105. Spiral Matrix (25)
简单模拟. #include<cstdio> #include<cstring> #include<cmath> #include<map> #incl ...
- PAT (Advanced Level) 1101. Quick Sort (25)
树状数组+离散化 #include<cstdio> #include<cstring> #include<cmath> #include<map> #i ...
- PAT (Advanced Level) 1071. Speech Patterns (25)
简单题. #include<cstdio> #include<cstring> #include<cmath> #include<vector> #in ...
- PAT (Advanced Level) 1063. Set Similarity (25)
读入之后先排序. 询问的时候可以o(m)效率得到答案. #include<cstdio> #include<cstring> #include<cmath> #in ...
- PAT (Advanced Level) 1059. Prime Factors (25)
素因子分解. #include<iostream> #include<cstring> #include<cmath> #include<algorithm& ...
- PAT (Advanced Level) 1051. Pop Sequence (25)
简单题. #include<iostream> #include<cstring> #include<cmath> #include<algorithm> ...
随机推荐
- js 数组切换图片
<html> <head> <meta charset="utf-8" /> <title></title> <s ...
- debian上安装lua编辑器
Debian服务器上安装lua 1)下载压缩包 wget http://www.lua.org/ftp/lua-5.1.4.tar.gz 2)解压文件 tar zxvf lua-5.1.4.tar. ...
- ecshop foreach循环判断循环次数
首先要在foreach里面加上一个name属相,如:name=name如:<!-- {foreach from=$package_goods.goods_list item=goods_list ...
- CAFFE中训练与使用阶段网络设计的不同
神经网络中,我们通过最小化神经网络来训练网络,所以在训练时最后一层是损失函数层(LOSS), 在测试时我们通过准确率来评价该网络的优劣,因此最后一层是准确率层(ACCURACY). 但是当我们真正要使 ...
- php常用命令大全
1.php -v 查看版本号 [root@rs-2 lib]# php -v PHP 5.5.11 (cli) (built: Apr 29 2014 12:35:52) Copyrigh ...
- laravel路由使用【总结】
1.路由参数 必选参数 有时我们需要在路由中捕获 URI 片段.比如,要从 URL 中捕获用户 ID,需要通过如下方式定义路由参数: Route::get('/test_param/{id}', 'T ...
- shell 变量说明
变量说明 $$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值)$-使用Set命令设定的Flag一览$*所有参数列表. ...
- 利用npoi把多个DataTable导入Excel多个sheet中
{ 题外拓展:把datatable插入dataset DataTable fuben = new DataTable();//定义的datatablefuben = table.Tables[0].C ...
- sql优化__rownum的使用【转】
ROWNUM的概念ROWNUM是一个虚假的列.它将被分配为 1,2,3,4,...N,N 是行的数量.一个ROWNUM值不是被永久的分配给一行 (这是最容易被误解的).表中的某一行并没有标号:你不可以 ...
- Spring MVC中,事务是否可以加在Controller层
一般而言,事务都是加在Service层的,但是爱钻牛角尖的我时常想:事务加在Controller层可不可以.我一直试图证明事务不止可以加在Service层,还可以加在Controller层,但是没有找 ...