把No写成NO,WA了一发……

现在看这题也不难……

用一个栈,记一下前面F的字母,是否合法,合法的有多长,每次入栈弹栈即可

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N=105;
int T,n,top,co[305],mx,fl,er,va;
char o[10],c[N];
struct qwe
{
char c;
int fl,va;
}s[N];
int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%d%s\n",&n,o);//cerr<<" "<<n<<endl;
top=0,mx=0,fl=0,er=0,va=0;
memset(co,0,sizeof(co));
for(int i=1;i<=n;i++)
{
gets(c);//cerr<<"???"<<i<<" "<<c<<endl;
if(c[0]=='E')
{
if(!top)
er=1;
else
{
co[s[top].c]--;
fl-=s[top].fl;
va-=s[top].va;
top--;
}
}
else
{
if(co[c[2]])
er=1;
s[++top].c=c[2];
co[c[2]]++;
int w=4,x=0,fx=-1,y=0,fy=-1;
while(c[w]>='0'&&c[w]<='9')
fx=1,x=x*10+c[w]-48,w++;
w=max(w+1,6);
while(c[w]>='0'&&c[w]<='9')
fy=1,y=y*10+c[w]-48,w++;
// cerr<<fx<<" "<<x<<" "<<fy<<" "<<y<<endl;
if((fx==-1&&fy!=-1)||(fx!=-1&&fy!=-1&&x>y))
s[top].fl=1,fl++;
else
s[top].fl=0;
if(fx!=-1&&fy==-1)
s[top].va=1,va++;
else
s[top].va=0;
if(!fl)
mx=max(mx,va);
}
}
if(top)
er=1;
int x=0,w=4;
while(o[w]>='0'&&o[w]<='9')
x=x*10+o[w]-48,w++;
// cerr<<x<<" "<<mx<<endl;
if(er)
puts("ERR");
else if((o[2]=='n'&&mx==0)||(o[2]=='n'&&mx!=x))
puts("No");
else
puts("Yes");
}
return 0;
}

洛谷 P3952 时间复杂度【模拟】的更多相关文章

  1. 洛谷 - P3952 - 时间复杂度 - 模拟

    https://www.luogu.org/problemnew/show/P3952 这个模拟,注意每次进入循环的时候把新状态全部入栈,退出循环的时候就退栈. 第一次就错在发现ERR退出太及时,把剩 ...

  2. 洛谷P3952 时间复杂度(模拟)

    题意 题目链接 Sol 咕了一年的题解..就是个模拟吧 考场上写的递归也是醉了... 感觉一年自己进步了不少啊..面向数据编程的能力提高了不少 #include<bits/stdc++.h> ...

  3. 洛谷 P3952 时间复杂度 解题报告

    P3952 时间复杂度 题目描述 小明正在学习一种新的编程语言A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机会 ...

  4. 洛谷P3952 时间复杂度【字符串】【模拟】

    题目描述 小明正在学习一种新的编程语言 A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机会来啦!下面请你编写程序 ...

  5. 计蒜客 时间复杂度 (模拟) & 洛谷 P3952 时间复杂度

    链接 : Here! 思路 : 这是一道大模拟, 区分好情况就没问题了 循环构成部分 : $F , x , i , j$ 和 $E$ , 需要注意的是 $i , j$, - 分析 $i, j$ 的情况 ...

  6. 2018.11.02 洛谷P3952 时间复杂度(模拟)

    传送门 惊叹考场dubuffdubuffdubuff. 这题还没有梭哈难啊233. 直接按照题意模拟就行了. 代码: #include<bits/stdc++.h> using names ...

  7. 洛谷P3952 时间复杂度

    大毒瘤...... 时隔快半年我终于花了两个小时堪堪A掉这一题...果然我还没有准备好. 想法:用DFS模拟递归. 时间复杂度的处理:每层循环取max,然后相加. 最大难点:各种繁杂而令人发指的特判. ...

  8. 洛谷 P3952时间复杂度 (本地AC测评RE的伪题解)

    [题目描述] 小明正在学习一种新的编程语言 A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机会来啦!下面请你编写 ...

  9. 【题解】洛谷P3952 [NOIP2017TG] 时间复杂度(模拟)

    题目来源:洛谷P3952 思路 纯模拟没啥可说的了 果然好复杂 参考了你谷一个40行代码 代码 #include<iostream> #include<cstdio> #inc ...

随机推荐

  1. Netty 4.0 新的特性及需要注意的地方

    Netty 4.0 新的特性及需要注意的地方 这篇文章和你一起过下Netty的主发行版本的一些显著的改变和新特性,让你在把你的应用程序转换到新版本的时候有个概念. 项目结构改变 Netty的包名从or ...

  2. CodeForces 582A【multiset使用样例】

    题意: 给一些无序的数字,求解一个矩阵,使得矩阵的每一个元素都是行和列标志数的gcd,输出行标志数. 首先对数字进行排序.复杂度n*log(n^2). 这题的证明有官方的英文题解==在这直接贴英文题解 ...

  3. codeforces 938F(dp+高维前缀和)

    题意: 给一个长度为n的字符串,定义$k=\floor{log_2 n}$ 一共k轮操作,第i次操作要删除当前字符串恰好长度为$2^{i-1}$的子串 问最后剩余的字符串字典序最小是多少? 分析: 首 ...

  4. 【.Net Core 学习系列】-- EF Core实践(DB First)

    一.开发环境: VS2015, .Net Core 1.0.0-preview2-003156 二.准备数据: CREATE DATABASE [Blogging]; GO USE [Blogging ...

  5. ArcGIS Engine 中的多线程使用

    转自原文ArcGIS Engine 中的多线程使用 一直都想写写AE中多线程的使用,但一直苦于没有时间,终于在中秋假期闲了下来.呵呵,闲话不说了,进入正题! 大家都了解到ArcGIS中处理大数据量时速 ...

  6. @Retention n. 保留

    @Retention n. 保留 学习了:https://blog.csdn.net/asdgbc/article/details/70196749 默认都是保留到class中,而在runtime中没 ...

  7. Nerv --- React IE8 兼容方案

    创建项目 创建一个目录,使用npm快速初始化 $ mkdir my-project && npm init -y 安装依赖 安装webpack以及babel $ npm install ...

  8. JSP中的编译指令和动作指令的差别

    JSP中的编译指令和动作指令的差别 1.编译指令是通知Servlet引擎的处理消息.而动作指令仅仅是执行时的脚本动作 2.编译指令是在将JSP编译成Servlet时起作用,而动作指令可替换成JSP脚本 ...

  9. LightOJ - 1317 Throwing Balls into the Baskets 期望

    题目大意:有N个人,M个篮框.K个回合,每一个回合每一个人能够投一颗球,每一个人的命中率都是同样的P.问K回合后,投中的球的期望数是多少 解题思路:由于每一个人的投篮都是一个独立的事件.互不影响.所以 ...

  10. Matlab遗传算法优化问题求解的演示样例代码

    代码例如以下: function m_main() clear clc Max_gen = 100;% 执行代数 pop_size = 100;%种群大小 chromsome = 10;%染色体的长度 ...