传送门

惊叹考场dubuffdubuffdubuff。

这题还没有梭哈难啊233.

直接按照题意模拟就行了。

代码:

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int T,n,typ,dep[105];
  4. bool f;
  5. inline int calc(char s[]){
  6. int len=strlen(s);
  7. int ret=0,pos=0;
  8. for(;pos!=len;++pos)if(isdigit(s[pos]))break;
  9. while(isdigit(s[pos])&&pos!=len)ret=(ret<<3)+(ret<<1)+(s[pos]^48),++pos;
  10. return ret;
  11. }
  12. int main(){
  13. freopen("lx.in","r",stdin);
  14. scanf("%d",&T);
  15. while(T--){
  16. stack<char>S;
  17. set<char>exi;
  18. char s[10];
  19. int tot=0,now=0,ans=0;
  20. memset(dep,0,sizeof(dep));
  21. while(!S.empty())S.pop();
  22. exi.clear(),scanf("%d%s",&n,&s),typ=0,f=1;
  23. if(s[2]!='1'){
  24. int len=strlen(s);
  25. for(int i=4;i<len;++i){
  26. if(!isdigit(s[i]))break;
  27. typ=(typ<<3)+(typ<<1)+(s[i]^48);
  28. }
  29. }
  30. int i=1;
  31. for(;i<=n;++i,ans=max(ans,dep[now])){
  32. scanf("%s",s);
  33. if(s[0]=='E'){
  34. if(!S.size()){f=0;break;}
  35. exi.erase(S.top()),S.pop(),--now;
  36. }
  37. else{
  38. scanf("%s",s);
  39. char x[5],y[5];
  40. scanf("%s%s",x,y);
  41. if(exi.count(s[0])){f=0;break;}
  42. S.push(s[0]),exi.insert(s[0]),++now;
  43. if(dep[now-1]==-1){dep[now]=-1;continue;}
  44. if(x[0]=='n'){
  45. if(y[0]=='n'){dep[now]=dep[now-1];continue;};
  46. dep[now]=-1;continue;
  47. }
  48. if(y[0]=='n'){dep[now]=dep[now-1]+1;continue;}
  49. int X=calc(x),Y=calc(y);
  50. if(X<=Y){dep[now]=dep[now-1];continue;}
  51. else dep[now]=-1;
  52. }
  53. }
  54. ++i;
  55. for(;i<=n;++i){
  56. scanf("%s",s);
  57. if(s[0]=='F')scanf("%s",s),scanf("%s",s),scanf("%s",s);
  58. }
  59. if(S.size())f=0;
  60. if(f){
  61. if(typ^ans)puts("No");
  62. else puts("Yes");
  63. }
  64. else puts("ERR");
  65. }
  66. return 0;
  67. }

2018.11.02 洛谷P3952 时间复杂度(模拟)的更多相关文章

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

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

  2. 2018.11.02 洛谷P2661 信息传递(拓扑排序+搜索)

    传送门 按照题意模拟就行了. 先拓扑排序去掉不在环上面的点. 剩下的都是简单环了. 于是都dfsdfsdfs一遍求出最短的环就行. 代码: #include<bits/stdc++.h> ...

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

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

  4. 2018.11.02 洛谷P2831 愤怒的小鸟(状压dp)

    传送门 状压一眼题. 直接f[i]f[i]f[i]表示未选择状态为iii时的最小次数. 然后考虑现在怎么转移. 显然可以直接枚举消掉某一个点或者某两个点,复杂度O(n22n)O(n^22^n)O(n2 ...

  5. 2018.11.02 洛谷P2312 解方程(数论)

    传送门 直接做肯定会TLETLETLE. 于是考验乱搞能力的时候到了. 我们随便选几个质数来checkcheckcheck合法解,如果一个数无论怎么checkcheckcheck都是合法的那么就有很大 ...

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

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

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

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

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

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

  9. 洛谷 P3952 时间复杂度【模拟】

    把No写成NO,WA了一发-- 现在看这题也不难-- 用一个栈,记一下前面F的字母,是否合法,合法的有多长,每次入栈弹栈即可 #include<iostream> #include< ...

随机推荐

  1. HDU-1002.大数相加(字符串模拟)

    本题大意:给出两个1000位以内的大数a 和b,让你计算a + b的值. 本题思路:字符串模拟就能过,会Java的大佬应该不会点进来...... 参考代码: #include <cstdio&g ...

  2. c#: UrlDecode()

    1.源起: KV需要解析从插件传来的URL网址,因为其可能经过编码,所以需要解码. 初用System.Web.HttpUtility.UrlDecode()这个函数,但根据用户环境crash场景,发现 ...

  3. java_13.2 Object

    1.类 Object 是类层次结构的根类.每个类都使用 Object 作为超类.所有对象(包括数组)都实现这个类的方法 2.hashCode()方法 返回该对象的哈希值.一般情况下,该方法会根据对象的 ...

  4. Data01-数据结构和算法绪论

    Data01-数据结构和算法绪论 一.数据结构和算法绪论 1.1 什么是数据结构? 数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科. 程序设计=数据结 ...

  5. call指令和ret指令配合实现子程序调用

    子程序的框架如下. 标号: 指令 ret 具有子程序的源程序的框架如下. assume cs:code code segment main: : : call sub1 : : mov ax,4c00 ...

  6. WEB框架Django之Form组件

    Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 一 通过form实现校验字段功能 模型:mod ...

  7. sqlserver的数据库状态——脱机与联机

    1.数据库状态: online:可以对数据库进行访问 offline:数据库无法访问 2.查看数据库状态的方法: (1)使用查询语句: SELECT state_desc FROM SYS.datab ...

  8. java命令行调用本地文件协议hikvideoclient://

    最近在做一个视频项目,项目中需要通过调用海康本地协议打开视频播放器,起初尝试通过Process/ProcessBuilder无解,因为这个是调用本地应用程序的. 我要调用的是本地伪协议,最终通过一些研 ...

  9. 在Qt(C++)中与Python混合编程

    一.PythonQt库 在Qt(C++)中与Python混合编程,可以使用PythonQt库. 网站首页:http://pythonqt.sourceforge.net 下载页面:https://so ...

  10. DOM心得

    一.自定义属性值两种方法的注意事项 1.用元素节点.属性(元素节点[属性])绑定的属性值不会出现在标签上. 2.用get/set/removeAttribut(,)等绑定的属性会出现在标签上.且两种方 ...