【洛谷P3952】[NOIP2017]时间复杂度
时间复杂度
对于 100%的数据:L≤100 。
很明显的模拟题
然而考试时还是爆炸了。。
调了一下午。。
蒟蒻表示不会离线操作。。
直接贴代码:
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int t,m,ans,p,q,topc,topt,stack[];
string a,s1,s2,s3,s4,stackc[];
bool dayu(string x,string y)
{
if(x.length()<y.length()) return ;
if(x.length()>y.length()) return ;
else return x>y;
}
int main()
{
scanf("%d",&t);
while(t--)
{
topc=;topt=;
bool f=;
ans=;p=;q=;
scanf("%d",&m);
cin>>s1;
int lens1=s1.length();
int i=;
if(lens1==) q=;
else while(s1[i]!=')')
{
q=q*+s1[i]-'';
i++;
}
while(m--)
{
cin>>a;
if(a=="E")
{
if(stack[topc]) p--;
topc--;
}
if(topc<)
f=;
if(a=="F")
{
cin>>s2>>s3>>s4;
if((s3=="n"&&s4!="n")||(s3!="n"&&s4!="n"&&dayu(s3,s4)))
{
topt=;
while(m&&topt&&f)
{
cin>>a;
if(a=="F"){
topt++;
cin>>s2>>s3>>s4;
for(int j=;j<=topc;j++)
if(stackc[j]==s2&&f) f=;
}
else topt--;
m--;
}
if(topt) f=;
}
else
{
for(int j=;j<=topc;j++)
if(stackc[j]==s2&&f) f=;
if(f)
{
stackc[++topc]=s2;
if(s3!="n"&&s4=="n")
{
stack[topc]=;
p++;
ans=max(ans,p);
}
else stack[topc]=;
}
}
}
}
if(topc!=||!f)
{
f=;
puts("ERR");
}
if(f&&ans==q)
puts("Yes");
else if(f)
puts("No");
}
return ;
}
【洛谷P3952】[NOIP2017]时间复杂度的更多相关文章
- 【题解】洛谷P3952 [NOIP2017TG] 时间复杂度(模拟)
题目来源:洛谷P3952 思路 纯模拟没啥可说的了 果然好复杂 参考了你谷一个40行代码 代码 #include<iostream> #include<cstdio> #inc ...
- 洛谷P3959 [NOIP2017]宝藏
[题目描述] 参与考古挖掘的小明得到了一份藏宝图,藏宝图上标出了 n 个深埋在地下的宝藏屋,也给出了这 n 个宝藏屋之间可供开发的 m 条道路和它们的长度. 小明决心亲自前往挖掘所有宝藏屋中的宝藏.但 ...
- 洛谷P3952 时间复杂度【字符串】【模拟】
题目描述 小明正在学习一种新的编程语言 A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机会来啦!下面请你编写程序 ...
- 洛谷 P3952 时间复杂度 解题报告
P3952 时间复杂度 题目描述 小明正在学习一种新的编程语言A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机会 ...
- 洛谷 - P3952 - 时间复杂度 - 模拟
https://www.luogu.org/problemnew/show/P3952 这个模拟,注意每次进入循环的时候把新状态全部入栈,退出循环的时候就退栈. 第一次就错在发现ERR退出太及时,把剩 ...
- 洛谷P3952 时间复杂度
大毒瘤...... 时隔快半年我终于花了两个小时堪堪A掉这一题...果然我还没有准备好. 想法:用DFS模拟递归. 时间复杂度的处理:每层循环取max,然后相加. 最大难点:各种繁杂而令人发指的特判. ...
- 计蒜客 时间复杂度 (模拟) & 洛谷 P3952 时间复杂度
链接 : Here! 思路 : 这是一道大模拟, 区分好情况就没问题了 循环构成部分 : $F , x , i , j$ 和 $E$ , 需要注意的是 $i , j$, - 分析 $i, j$ 的情况 ...
- 洛谷 P3952时间复杂度 (本地AC测评RE的伪题解)
[题目描述] 小明正在学习一种新的编程语言 A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机会来啦!下面请你编写 ...
- 2018.11.02 洛谷P3952 时间复杂度(模拟)
传送门 惊叹考场dubuffdubuffdubuff. 这题还没有梭哈难啊233. 直接按照题意模拟就行了. 代码: #include<bits/stdc++.h> using names ...
随机推荐
- leetcode 925. 长按键入
题目描述: 你的朋友正在使用键盘输入他的名字 name.偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次. 你将会检查键盘输入的字符 typed.如果它对应的可能是你的朋友的 ...
- Hive学习(二)
1.Hive数据导入 2.Hive的数据查询 3.Hive的Java客户端和自定义函数 1.Hive数据导入 (1.1)使用Load语句导入 HiveQL中提供LOAD DATA命令,用于导入数据到H ...
- android Firebase中配置 Crashlytics
首先登陆Google账号 https://firebase.google.com/ 创建项目 配置Android 1.注册应用 2.下载配置文件 3.添加firebaseSDk 配置后台分析的Cras ...
- Deep Learning 和 Knowledge Graph howto
领军大家: Geoffrey E. Hinton http://www.cs.toronto.edu/~hinton/ 阅读列表: reading lists and survey papers fo ...
- Murano Weekly Meeting 2016.07.19
Meeting time: 2016.July.19 1:00~2:00 Chairperson: Kirill Zaitsev, from Mirantis Meeting summary: 1. ...
- Flutter安装教程
前言 自Flutter beta版发布, 经过几个月的发展, 它已成为了github社区开源项目活跃度的Top50.加上近日Google的Flutter Live 2018全球同步直播宣传,与 Flu ...
- FileZila
FileZilla下载文件失败的原因 对应访问的目录在服务器上没有权限下载 在本地没有切换到用户的家目录
- 记一次失败的Linux安装
这次把整个电脑都装了Ubuntu,向Linux这条路越走越远了,也感谢社会对Linux的支持越来越完善了,才让我下定这个决心,再次表示感谢 之前都是装双系统或者在vm下安装的Linux,现在再装一次, ...
- c# 调用matlab
1.返回一个整数 function [ a ] = testReturn( b ) %UNTITLED Summary of this function goes here % Detailed ex ...
- 第一次尝试用Open Live Writer写日志
注册博客园很久了,一直没怎么用,今天登陆了一下,看到这个写日志工具,看着不错,试一下