博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
牛客寒假算法基础集训营2 B : 处女座与cf (巨坑模拟题)
阅读量:3898 次
发布时间:2019-05-23

本文共 1154 字,大约阅读时间需要 3 分钟。

【题目】

【题解】

我哭liao,不能说人话吗???傻逼题目毁我青春啊我靠靠靠

需要注意以下几点:

1.每道题的通过与否取决于该题的最后一次提交结果(意思就是管你前边有没有ac,你后面提交不ac就算你没分数)

2.CE为无效提交,不计入错误提交次数(意思就是两次ac的话前一次ac就当wa来看算错误,要扣50分的)
3.只要提交了就计入参与人数(CE也算参与)

然后名字和序号对应一下,模拟就完事儿了

【代码】

#include 
using namespace std;#define ll long longmap
si;int vis[505]={0};struct p{ int wrong[10]; int grade[10]; int sum;}f[505];int main(){ int n,m; cin>>n>>m; string name; for(int i=1;i<=n;i++) cin>>name,si[name]=i; int cou=0; while(m--) { int t; string pro,sta; cin>>t>>name>>pro>>sta; int num=si[name],c=pro[0]-'A'+1; if(vis[num]==0) vis[num]=1,cou++; if(sta=="AC") f[num].grade[c]=max(c*50*3,(250-t)*2*c-f[num].wrong[c]*50); else f[num].grade[c]=0; if(sta=="CE") continue; f[num].wrong[c]++; } int num=si["cnz"]; if(!vis[num]) puts("-1"); else { for(int i=1;i<=n;i++) for(int j=1;j<=5;j++) f[i].sum+=f[i].grade[j]; int pos=1; for(int i=1;i<=n;i++) if(f[i].sum>f[num].sum) pos++; printf("%d\n%d/%d\n",f[num].sum,pos,cou); } return 0;}

 

转载地址:http://rfben.baihongyu.com/

你可能感兴趣的文章
Linux之死锁的代码体验
查看>>
WebKit之webIDL详解
查看>>
WebKit之创建Event的2种方法
查看>>
CPP之中介者设计模式
查看>>
Event的三个阶段
查看>>
WebKit之MediaPlayer的简单分析
查看>>
WebKit之MediaPlayer之底层调度的源码分析
查看>>
WIFI之系统模块列表介绍
查看>>
C++之数据库处理代理模块
查看>>
C++之编码实现ping的功能
查看>>
C++之动态配置ip信息
查看>>
生活之工资条(薪资结构参考)
查看>>
Makefile之通用模板
查看>>
Makefile之常用函数介绍
查看>>
Makefile之自动变量介绍
查看>>
C++之位测试练习的相关代码
查看>>
C++之IPC测试单元
查看>>
C++之测试snmp的注册模块
查看>>
WebKit之WebSocket的初步源码分析2
查看>>
WebKit之Canvas的源码初步分析1
查看>>