博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【洛谷P3952】[NOIP2017]时间复杂度
阅读量:4947 次
发布时间:2019-06-11

本文共 2548 字,大约阅读时间需要 8 分钟。

时间复杂度

 

对于 100%的数据:L100 。

很明显的模拟题

然而考试时还是爆炸了。。

调了一下午。。

蒟蒻表示不会离线操作。。

 

直接贴代码:

1 #include
2 #include
3 #include
4 using namespace std; 5 int t,m,ans,p,q,topc,topt,stack[110]; 6 string a,s1,s2,s3,s4,stackc[110]; 7 bool dayu(string x,string y) 8 { 9 if(x.length()
y.length()) return 1;11 else return x>y;12 }13 int main()14 {15 scanf("%d",&t);16 while(t--)17 {18 topc=0;topt=0;19 bool f=1;20 ans=0;p=0;q=0;21 scanf("%d",&m);22 cin>>s1;23 int lens1=s1.length(); 24 int i=4;25 if(lens1==4) q=0;26 else while(s1[i]!=')')27 {28 q=q*10+s1[i]-'0';29 i++;30 }31 while(m--)32 {33 cin>>a;34 if(a=="E")35 {36 if(stack[topc]) p--;37 topc--;38 }39 if(topc<0)40 f=0;41 if(a=="F")42 {43 cin>>s2>>s3>>s4;44 if((s3=="n"&&s4!="n")||(s3!="n"&&s4!="n"&&dayu(s3,s4)))45 {46 topt=1;47 while(m&&topt&&f)48 {49 cin>>a;50 if(a=="F"){51 topt++;52 cin>>s2>>s3>>s4;53 for(int j=1;j<=topc;j++)54 if(stackc[j]==s2&&f) f=0;55 }56 else topt--;57 m--;58 }59 if(topt) f=0;60 }61 else62 {63 for(int j=1;j<=topc;j++)64 if(stackc[j]==s2&&f) f=0;65 if(f)66 {67 stackc[++topc]=s2;68 if(s3!="n"&&s4=="n")69 {70 stack[topc]=1;71 p++;72 ans=max(ans,p);73 }74 else stack[topc]=0;75 }76 }77 }78 }79 if(topc!=0||!f)80 {81 f=0;82 puts("ERR");83 }84 if(f&&ans==q)85 puts("Yes");86 else if(f)87 puts("No");88 }89 return 0;90 }

 

转载于:https://www.cnblogs.com/yjkhhh/p/8494936.html

你可能感兴趣的文章
冲刺第九天 1.10 THU
查看>>
传值方式:ajax技术和普通传值方式
查看>>
Linux-网络连接-(VMware与CentOS)
查看>>
寻找链表相交节点
查看>>
linq 学习笔记之 Linq基本子句
查看>>
[Js]布局转换
查看>>
Java annotation 自定义注释@interface的用法
查看>>
Apache Spark 章节1
查看>>
Linux crontab定时执行任务
查看>>
mysql root密码重置
查看>>
33蛇形填数
查看>>
选择排序
查看>>
SQL Server 数据库的数据和日志空间信息
查看>>
前端基础之JavaScript
查看>>
自己动手做个智能小车(6)
查看>>
自己遇到的,曾未知道的知识点
查看>>
P1382 楼房 set用法小结
查看>>
分类器性能度量
查看>>
docker 基础
查看>>
写一个bat文件,删除文件名符合特定规则,且更改日期在某
查看>>