【比赛】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 ...
随机推荐
- CentOS安装log.io
官网 http://logio.org/ log.io是运行在node.js之上的 可通过浏览器访问服务器日志 类似于tail -f命令 它只负责实时传输数据 而不会去存储历史数据 npm insta ...
- php 文件上传缩略图路径分析类
<?php //文件上传时分析路径信息 //author:songzhenghe 2014-1-24 //version 0.1 class path_ana { private $da ...
- c语言数字图像处理(六):二维离散傅里叶变换
基础知识 复数表示 C = R + jI 极坐标:C = |C|(cosθ + jsinθ) 欧拉公式:C = |C|ejθ 有关更多的时域与复频域的知识可以学习复变函数与积分变换,本篇文章只给出DF ...
- 特效Shader对雾的处理
RFX4_Particle.shader案例 #ifdef BlendAdd UNITY_APPLY_FOG_COLOR(i.fogCoord, res, half4(0,0,0,0)); #endi ...
- 你这一辈子要用到的C数学函数都在这
两数相加 #include <stdio.h> int main(void){ int a = 10; //定义变量a, 把10 赋值给a int b = 20; //定义变量 ...
- Netty源码分析第7章(编码器和写数据)---->第4节: 刷新buffer队列
Netty源码分析第七章: 编码器和写数据 第四节: 刷新buffer队列 上一小节学习了writeAndFlush的write方法, 这一小节我们剖析flush方法 通过前面的学习我们知道, flu ...
- spring-boot+swagger实现WebApi文档
1.引用依赖包 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-s ...
- eclipse在线安装maven插件
http://blog.csdn.net/xiaoxiaoyeyaya/article/details/17200987 在安装插件的时候将下面的contact all update sites du ...
- Redux和React-Redux的实现(一):Redux的实现和context
react使用redux做状态管理,实现多个组件之间的信息共享,解决了父子组件.兄弟组件之间的复杂通信问题.vue有vuex,总之是一种flux的思想.react提供了react-redux这个库,一 ...
- 第七周psp例行报告
本周psp 本周进度条 代码累积折线图 博文字数累积折线图 饼状图