【比赛】NOIP2017 时间复杂度



恶心的模拟题,考场上犯了一堆错误,多组数据清空没清完、数组开小。。。民间都是50分,结果CCF90。。
考完后随便改改就过了,还好只少了10分,如果真的是50,我估计会疯掉。
因为考场的时候没写好,所以最终的代码也很难看。
#include<bits/stdc++.h>
using namespace std;
int T,n,stk[],p[],fnum,stack_num,sck[],sck_num;
char s[],ch[],res[];
inline void init()
{
memset(p,,sizeof(p));
memset(res,,sizeof(res));
memset(sck,,sizeof(sck));
memset(stk,,sizeof(stk));
sck_num=;
stack_num=;
fnum=;
}
inline void Dealwith()
{
init();
int ans=,mark=,nxt=,nnum=,las=,done=;
for(register int i=;i<=n;++i)
{
scanf("%s",ch);
if(ch[]=='F')
{
if(done)
{
scanf("%s",ch);
scanf("%s",ch);
scanf("%s",ch);
continue;
}
fnum++;
scanf("%s",ch);
if(p[ch[]-'a'])
{
printf("ERR\n");
done=;
}
p[ch[]-'a']=;
stk[++stack_num]=ch[]-'a';
int fl1,num1=,fl2,num2=; scanf("%s",ch);
if(ch[]>=''&&ch[]<='')
{
fl1=;
for(register int j=;j<strlen(ch);++j)num1=(num1<<)+(num1<<)+(ch[j]^'');
}
else fl1=; scanf("%s",ch);
if(ch[]>=''&&ch[]<='')
{
fl2=;
for(register int j=;j<strlen(ch);++j)num2=(num2<<)+(num2<<)+(ch[j]^'');
}
else fl2=; if(fnum!=nxt)continue; if(fl1==&&fl2==)nxt=fnum;
else if(fl1==&&fl2==)
{
if(num1>num2)nxt=fnum;
else nxt=fnum+,sck[++sck_num]=;
}
else if(fl1==&&fl2==)
{
mark=;
nnum++;
if(ans<nnum)ans++;
nxt=fnum+;
sck[++sck_num]=;
}
else sck[++sck_num]=,nxt=fnum+;
}
else
{
if(done)continue;
if(!fnum)
{
printf("ERR\n");
done=;
}
if(done)continue;
if(nxt==fnum+)
{
fnum--,nxt--;
if(sck[sck_num--]==)nnum--;
}
else fnum--;
p[stk[stack_num--]]=;
}
}
if(done)return ;
if(fnum)
{
printf("ERR\n");
return ;
}
if(mark)
{
res[]='O',res[]='(',res[]='n',res[]='^';
int respos=,tmppos=;
char tmp[];
while(ans)tmp[++tmppos]=ans%+'',ans/=;
while(tmppos)res[++respos]=tmp[tmppos--];
res[++respos]=')';res[++respos]='\0';
}
else res[]='O',res[]='(',res[]='',res[]=')',res[]='\0'; if(!strcmp(s,res))printf("Yes\n");
else printf("No\n");
}
int main()
{
freopen("complexity.in","r",stdin);
freopen("complexity.out","w",stdout);
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);scanf("%s",s);
Dealwith();
}
return ;
}
NOIP2017 时间复杂度
【比赛】NOIP2017 时间复杂度的更多相关文章
- [Luogu 3952] NOIP2017 时间复杂度
[Luogu 3952] NOIP2017 时间复杂度 一年的时间说长不长,说短,也不短. 一年之内无数次觉得难得可怕的题目,原来也就模拟这么回事儿. #include <cstdio> ...
- P3952 NOIP2017 时间复杂度
写了两三个小时,麻烦倒是不麻烦,要考虑清楚,想全了 只过了样例提交是不是傻,要自己造数据 数据不大可以用STL 建议自己刚一下,不看代码 #include <iostream> #incl ...
- luoguP3952 [NOIP2017]时间复杂度 模拟
原本只是想看下多久能码完时间复杂度 然后在30min内就码完了,然后一A了???? 首先,这题完全可以离线做 我们先把所有的操作读完,判断合不合法之后,再去判断和标准答案的关系 具体而言 把所有的操作 ...
- [NOIP2017]时间复杂度
题目描述 小明正在学习一种新的编程语言 A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机会来啦!下面请你编写程序 ...
- 【洛谷P3952】[NOIP2017]时间复杂度
时间复杂度 题目链接 对于 100%的数据:L≤100 . 很明显的模拟题 然而考试时还是爆炸了.. 调了一下午.. 蒟蒻表示不会离线操作.. 直接贴代码: #include<cstdio> ...
- NOIP2017 时间复杂度 大模拟
再写一道大模拟题. 由于是限时写的,相当于考场代码,乱的一批. 题目链接:P3952 时间复杂度 先记几个教训: 字符串形式的数字比较大小老老实实写函数,字典序都搞错几次了 栈空的时候不但pop()会 ...
- 【题解】NOIP2017时间复杂度
对大模拟抱有深深的恐惧……不过这次写好像还好?拿个栈维护一下循环的嵌套,然后重定义一下读入即可.记得去年在考场上面死活调不粗来,代码也奇丑无比……希望今年能好一点吧! #include <bit ...
- [NOIP2017]时间复杂度(模拟)
sscanf读入数字,getline(cin,string)读一整行,其余暴力模拟即可. #include<cstdio> #include<string> #include& ...
- Luogu3952 NOIP2017时间复杂度
搞一个栈模拟即可.对比一下和一年前考场上的代码233 //2018.11.8 #include<iostream> #include<cstdio> #include<c ...
随机推荐
- Selenium+Python自动化测试学习问题总结笔记
1.问题描述:不能导入自定义类 错误内容:This inspection detects names that should resolve but don't. Due to dynamic dis ...
- Kubernetes 容器平台实战
一.什么是Kubernetes? Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署,自动扩缩容,维护等功能. 通过Kubernetes可以做到: 快速部署应用 快 ...
- facebook和twitter的截图分享
记录一下代码,以后自己可以抄..我抄我自己=.= SDK的接入看之前的博客.所以话不多少,直接上代码(记得分享一定要安装原生app(FB和twitter),不然只通过网页分享无法发图片.),初始化都在 ...
- oracle存储过程 关于update的动态SQL-工作心得
本随笔文章,由个人博客(鸟不拉屎)转移至博客园 发布时间: 2018 年 12 月 20 日 原地址:https://niaobulashi.com/archives/oracle-procedure ...
- springboot+elasticsearch实现全局检索
ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apach ...
- 关于java调用Dll文件的异常 Native library (win32-x86-64/CtrlNPCDLL.dll) not found in resource pat
解决办法 将dll文件放入项目bin目录下
- php快速上手总结
PHP作为现代热门主流的开发语言,对于那些想加入新手PHPer,从哪学起,如何学习?你必须要需要掌握PHP的基础知识,基础知识相当于重点,是不可忽视的知识.常用的功能模块,面向对象的,MVC等相关技能 ...
- 【坚持】Selenium+Python学习之从读懂代码开始 DAY4
2018/05/21 [生成器详解:廖雪峰的官方网站](https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d ...
- RHEL7 利用单个物理网卡实现VLAN
使用nmcli创建网桥配置 #nmcli connection add type bridge con-name br0 stp no 使用nmcli创建VLAN设备配置 #nmcli connect ...
- git push remote: User permission denied
这种错误因为本地保存了一个错误的账号密码,只需要重新编辑成正确的账号密码 直接上方法