Luogu3952 NOIP2017时间复杂度
搞一个栈模拟即可。对比一下和一年前考场上的代码233
//2018.11.8
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
#define N 110
char getc(){char c=getchar();while ((c<'A'||c>'Z')&&(c<'a'||c>'z')&&(c<''||c>'')) c=getchar();return c;}
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
int getlim()
{
char c=getc();
if (c=='n') return ;
else
{
int l=c^,c=getchar();
if (c>=''&&c<='') l=l*+(c^);
return l;
}
}
int T,top;
bool isenter[N],isconst[N],isappear[];
char var[N];
int main()
{
T=read();
while (T--)
{
memset(isappear,,sizeof(isappear));top=;
int n=read();getc();
char c=getc();int p;
if (c=='') p=;else p=read();
bool iserr=;int cnt=,ans=,isout=;
while (n--)
{
c=getc();
if (c=='F')
{
char v=getc();
if (isappear[v]) iserr=;
int l=getlim(),r=getlim();
if (!iserr)
{
var[++top]=v;isappear[v]=;
isconst[top]=r-l<=;
isenter[top]=r>=l;
if (!isout) ans=max(ans,cnt+=isconst[top]^);
isout+=isenter[top]^;
}
}
else
{
if (top==) iserr=;
if (!iserr)
{
isout-=isenter[top]^;
if (!isout) cnt-=isconst[top]^;
isappear[var[top]]=;
top--;
}
}
}
if (top!=) iserr=;
if (iserr) cout<<"ERR"<<endl;
else if (ans==p) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return ;
}
//2017.11.11
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int t,n,w,top;
bool flag=,a[],ifn[],ifcmp[];
char stk[];
int main()
{
cin>>t;
while (t>)
{
t--;
cin>>n;
char c=getchar();
while ((c<''||c>'')&&(c!='n')) c=getchar();
//cout<<c<<endl;
if (c=='') w=;
else
{
c=getchar();
cin>>w;
}
//cout<<w<<endl;
c=getchar();
top=;
memset(a,,sizeof(a));
memset(ifcmp,,sizeof(ifcmp));
flag=;
int o=,MAX=,iflr=;
for (int i=;i<=n;i++)
{
c=getchar();while (c!='E'&&c!='F') c=getchar();
if (c=='E')
{
if (top<=) flag=;
else
{
a[stk[top]]=;
if (ifn[top]) o--;
if (ifcmp[top]) iflr--;
top--;
}
}
else
{
char x;int l,r;
cin>>x;char tmp=x;
if (a[x]) flag=;
else
{
a[x]=;
cin>>x;
if (x=='n') l=;
else
{
l=x-;
x=getchar();
if (x>=''&&x<='') l=l*+x-;
}
cin>>x;
if (x=='n') r=;
else
{
r=x-;
x=getchar();
if (x>=''&&x<='') r=r*+x-;
}
if (l>r)
{
top++;
stk[top]=tmp;
ifn[top]=;
ifcmp[top]=;
iflr++;
}
else if(l<&&r<||l==r)
{
top++;
stk[top]=tmp;
ifn[top]=;
ifcmp[top]=;
}
else
{
top++;
stk[top]=tmp;
if (iflr) ifn[top]=;
else
{
ifn[top]=;
o++;
if (o>MAX) MAX=o;
}
ifcmp[top]=;
}
}
}
}
if (top>) flag=;
if (!flag) cout<<"ERR"<<endl;
else
{
if (MAX==w) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
}
return ;
}
Luogu3952 NOIP2017时间复杂度的更多相关文章
- 【比赛】NOIP2017 时间复杂度
恶心的模拟题,考场上犯了一堆错误,多组数据清空没清完.数组开小...民间都是50分,结果CCF90.. 考完后随便改改就过了,还好只少了10分,如果真的是50,我估计会疯掉. 因为考场的时候没写好,所 ...
- [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& ...
随机推荐
- 【bind服务简单发布及优化部署】
主DNS 1:安装bind服务包 2:vim /etc/named.conf区域解析控制文件 3:vim /etc/named.rfc1912.zones解析方向文件 4:vim var/named ...
- ruby 第三方模块unirest使用
Creating Requests require 'unirest' response = Unirest.post 'http://httpbin.org/post', headers:{ Acc ...
- go学习笔记-结构体
结构体 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合 定义 格式 type struct_variable_type struct { member definition; member ...
- Linq中dbSet 的查询
1.Find:按照关键字的ID号来查询(速度快) 如: ADShiTi aDShiTi = db.ADShiTis.Find(id); 2.FirstOrDefault:根据部分条件查询,显示最前的一 ...
- 3122 奶牛代理商 VIII(状压dp)
3122 奶牛代理商 VIII 时间限制: 3 s 空间限制: 256000 KB 题目等级 : 大师 Master 题目描述 Description 小徐是USACO中国区的奶牛代理商 ...
- Java Swing 图形界面开发(目录)
Java Swing 图形界面开发(目录) 2017年05月30日 23:50:42 阅读数:5228 本文链接: http://blog.csdn.net/xietansheng/article/d ...
- C#调用C++编写的dll
界面还是C#写的方便点,主要是有一个可视化的编辑器,不想画太多的时间在界面上.但是自己又对C++了解的多一些,所以在需要一个良好的界面的情况下,使用C++来写代码逻辑,将其编译成一个dll,然后用C# ...
- 在PXC中重新添加掉线节点
Preface When we add a new node into PXC structure,it will estimate the mothed(IST/SST) to tr ...
- Qt 飞机仪表显示
使用Qt简单谢了一个飞机的一小部分仪表,还没有写完,目前只写了一个界面,不过思想应该是一样的. 效果图如下 其中主要由转速表,和下面的部分数字显示构成 转速表代码 .h文件 #ifndef CONTR ...
- 数据库sql命令
本文为转载,原文地址:http://www.cnblogs.com/cangqiongbingchen/p/4530333.html 1.说明:创建数据库CREATE DATABASE databas ...