【比赛】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 ...
随机推荐
- Egret入门(一)--简介
关于Egret 构建2D游戏,开源. TS + JS 完成打包后可以转换成HTML5的游戏(跨平台) Egret特点 1. 优秀的设计思想 2. 高效的渲染模块 3. 完善的配套工具 4. 灵活的工作 ...
- 基础:enctype 包含上传input时必须(解决图片上传不成功问题)
今天在做一个上传图片的时候,死活就是看不到传过去的值..对比了写法没发现问题,后来抱着试试看的心,查看下了 from里的写法.发现缺少了enctype.不了解这个用法,特意百度了下. enctype ...
- webpack3升级为webpack4
写在前面的话:为什么要升级,因为公司目前的项目使用webpack3,但是因为是多页应用,入口估计有一百多个,开发模式下慢得不像话,修改一个文件需要十几秒才编译好,之前的解决方案是减少入口,但是要调试其 ...
- vue 子组件传值给父组件
子组件通过this.$emit("event",[args,....]),传值给父组件 HTML部分: <div id="app"> <tmp ...
- docker node项目 连接mongodb
在弄docker部署node项目的时候遇到了连接mongdb的问题,记录一下问题解决办法 一.Docker 安装 MongoDB 1.查找Docker Hub上的mongo镜像 [root@VM_49 ...
- sqlmap 进阶 (一)
0x1 命令 以此类推,可以具体自己研究有哪些参数,放在哪,有什么用,怎么用 参考:https://blog.csdn.net/bo_mask/article/details/76130848 0x2 ...
- java第四次实验报告
课程:Java程序与设计 班级:1352 姓 名:池彬宁 小组成员: 20135212池彬宁 20135208贺邦 学号:20135212 成绩: 指导教师:娄嘉鹏 ...
- java程序设计课程实验报告3
北京电子科技学院(BESTI) 实 验 报 告 课程:java程序设计 班级:1353 姓名:陈都 学号:20135328 成绩: 指导教师:娄 ...
- 第二阶段每日站立会议Third Day
昨天对图片显示的大小进行调整 今天对于程序中的字体显示进行细化修改,使界面更美观 遇到的问题:当图片太小时,显示一块灰色区域,不美观
- Chapter 11 软件演化
软件一直在不断地演化发展,人们通常通过软件维护和软件再工程解决软件的缺陷.软件维护可以分为改正性维护.适应性维护和完善性维护几种类型.软件维护受开发过程影响大.软件维护困难大.软件维护成本高.软件维护 ...