题目大意:

题解:模拟

卡点:1.数组忘清空

(考场代码风格独特。。。)

C++ Code:

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
const int inf=2000;
int T,n,F,E,top,ls,ans,temp,can,w;
char ch,s[10000];
string p;
bool pd,halt,llw[10000];
bool read(int &x){
char t=getchar();bool pd=0;
while(t<'0'||t>'9'){
if (t=='^')pd=1;
t=getchar();
}
for (x=t^48,t=getchar();t>='0'&&t<='9';t=getchar())x=x*10+(t^48);
return pd;
}
int main(){
// freopen("complexity.in","r",stdin);
// freopen("complexity.out","w",stdout);
scanf("%d",&T);
while (T--){
scanf("%d",&n);
// printf("Debug:%d\n",n);
pd=read(w);
// printf("D:%d\n",w);
getline(cin,p);
top=0;can=inf;
halt=false;
ans=temp=0;
for (int i=0;i<n;i++){
int x,y;
char cha;
getline(cin,p);
ls=p.length();
// cout << "lalal" << p << endl;
if (halt)continue;
if (p[0]=='F'){
int now;
for (now=1;now<ls;now++)if (p[now]!=' ')break;
ch=p[now];
for (int j=0;j<top;j++)if (ch==s[j]){
puts("ERR");
halt=1;
continue;
}
if (halt)continue;
s[top++]=ch;
llw[top-1]=0;
if (can<top)continue;
for (now++;now<ls;now++)if (p[now]!=' ')break;
if (p[now]=='n')x=inf;
else {
for (x=p[now]^48,now++;p[now]>='0'&&p[now]<='9';now++)x=x*10+(p[now]^48);
}
for (now++;now<ls;now++)if (p[now]!=' ')break;
if (p[now]=='n')y=inf;
else {
for (y=p[now]^48,now++;p[now]>='0'&&p[now]<='9';now++)y=y*10+(p[now]^48);
}
// printf("DEBUG:%d %d\n",x,y);
if (x<y&&y==inf)temp++,llw[top-1]=1;
if (temp>ans)ans=temp;
// printf("%d\n", temp);
if (x==y)llw[top-1]=0;
if (x<y&&y!=inf)llw[top-1]=0;
if (x>y)can=top,llw[top-1]=0;
}else{
if (p[0]=='E'){
top--;
if (top<0){
puts("ERR");
halt=1;
continue;
}
if (llw[top])temp--;
if(can>=top)can=inf;
}
}
}
if (top&&!halt){
puts("ERR");
halt=1;
}
if (!halt){
if (pd){
if (ans==w)puts("Yes");
else puts("No");
}else if (ans==0)puts("Yes");
else puts("No");
}
}
return 0;
}

  

[NOIP2017 TG D1T2]时间复杂度的更多相关文章

  1. 【NOIP题解】NOIP2017 TG D2T3 列队

    列队,NOIP2017 TG D2T3. 树状数组经典题. 题目链接:洛谷. 题意: Sylvia 是一个热爱学习的女孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. ...

  2. NOIP2017 d1t2 时间复杂度

    题目传送门:洛谷P3952 大模拟不解释 #include<iostream> #include<cstdio> #include<cmath> #include& ...

  3. NOIP2017 D1T2时间复杂度

    这道题在考试时看到感觉与第一题放反了位置(因为我还没有看到第一题是结论题) 对于每个语句进行栈的模拟,而如果有语法错误就特判. 对于每一条for语句我们将其与栈顶元素连边,复杂度是1的我们不用考虑,如 ...

  4. noip2017 TG 游记

    嗨小朋友们大家好,还记得我是谁吗?我就是为GG代言的蒟蒻--xzz 今天呐我特别的要向HN的dalao们ZJ的巨佬们还有全国的神犇们问声好 为什么呢因为我们在2017年11月份来到了吔屎的长沙理工大学 ...

  5. [NOIP2017 TG D2T3]列队

    题目大意:有一个$n \times m$的方阵,第$i$行第$j$列的人的编号是$(i-1) \times m + j$. 现在有$q$个出列操作,每次让一个人出列,然后让这个人所在行向左看齐,再让最 ...

  6. 【NOIP2017 DAY1T2】 时间复杂度

    [题目链接] 点击打开链接 [算法] 其实这就是一道模拟题啦! 在判error和计算时间复杂度时,我们需要用栈这种数据结构 [代码] 这题的代码还是有些难写的,写的时候一定要有条理! #include ...

  7. [NOIp2017] luogu P3952 时间复杂度

    跪着看评测很优秀. 题目描述 给你若干个程序,这些程序只有 For 循环,求这些程序的时间复杂度. Solution 大模拟.讲下细节. flag[i]flag[i]flag[i] 表示第 iii 位 ...

  8. [NOIP2017 TG D2T2]宝藏(模拟退火)

    题目大意:$NOIPD2T2$宝藏 题解:正常做法:状压DP .这次模拟退火,随机一个排列,$O(n^2)$贪心按排列的顺序加入生成树 卡点:没开$long\;long$,接受较劣解时判断打错,没判$ ...

  9. [NOIP2017 TG D2T2]宝藏

    题目大意:给定一个有重边,边有权值的无向图.从某一个点出发,求到达所有的点需要的最少费用,并且限制两点之间只有一条路径.费用的计算公式为:所有边的费用之和.而边$x->y$的费用就为:$y$到初 ...

随机推荐

  1. 首层nginx 传递 二级代理,三级代理......多级代理nginx 客户端真实IP的方法

    首层nginx(172.25.10.1):先获取真实IP($remote_addr),再将真实IP传递给X-Forwarded-For    proxy_set_header X-Real-IP $r ...

  2. Redis面试问题

    下面列出的这些其中有一些是我面试时遇到的,但是当时自己还不会,所以在网站上找了以下,然后整理出来,加强记忆 感谢码洞将这些问题整理出来: Redis有哪些数据结构? 字符串String.字典Hash. ...

  3. laravel 增删改查 数据库设置 路由设置

    laravel 框架的路由设置: url: http://www.shanzezhao.com/laraverl/my_laravel/public/index.php/indexs laravel ...

  4. php-5.6.26源代码 - hash存储结构 - hash算法

    // zend_inline_hash_func 实现在文件“php-5.6.26\Zend\zend_hash.h” h = zend_inline_hash_func(arKey, nKeyLen ...

  5. JavaSE 第二次学习随笔(五)

    /* * 中文乱码出现的情况研究 * 注意点:乱码解决的办法是再编码再解码 * 但是如果是编码出错了,无法解决.如果是解码出错了,可以利用再编码再解码 * * * 编码 解码 结果 * GBK utf ...

  6. python3 练习题100例 (二十七)列表元素改写

    题目内容: 输入一个列表alist,要求列表中的每个元素都为正整数且不超过10: 将列表中的奇数变为它的平方,偶数除以2后打印新的列表(新的列表中所有元素仍都为整数). 可以使用以下实现列表alist ...

  7. Leecode刷题之旅-C语言/python-1.两数之和

    开学后忙的焦头烂额(懒得很),正式开始刷leecode的题目了. 想了想c语言是最最基础的语言,虽然有很多其他语言很简单,有更多的函数可以用,但c语言能煅炼下自己的思考能力.python则是最流行的语 ...

  8. 008---re正则模块

    re正则模块 字符串的匹配规则 匹配模式 re.match() re.search() re.findall() re.split() re.sub() 元字符 print('------------ ...

  9. java练习题——类与对象

    一.请依据代码的输出结果,自行总结Java字段初始化的规律 public static void main(String[] args) { InitializeBlockClass obj=new ...

  10. C#中利用iTextSharp开发二维码防伪标签(1)

    开发的基本说明与尝试 一个亲戚朋友是做防伪码印刷的,之前的电话防伪.短信防伪都用Delphi给他设计,使用也挺不错,后来又加了一个基于asp的网页版防伪查询.由于业务需求,今年年初朋友又提成希望能够完 ...