恶心的模拟题,考场上犯了一堆错误,多组数据清空没清完、数组开小。。。民间都是50分,结果CCF90。。

考完后随便改改就过了,还好只少了10分,如果真的是50,我估计会疯掉。

因为考场的时候没写好,所以最终的代码也很难看。

 #include<bits/stdc++.h>
using namespace std;
int T,n,stk[],p[],fnum,stack_num,sck[],sck_num;
char s[],ch[],res[];
inline void init()
{
memset(p,,sizeof(p));
memset(res,,sizeof(res));
memset(sck,,sizeof(sck));
memset(stk,,sizeof(stk));
sck_num=;
stack_num=;
fnum=;
}
inline void Dealwith()
{
init();
int ans=,mark=,nxt=,nnum=,las=,done=;
for(register int i=;i<=n;++i)
{
scanf("%s",ch);
if(ch[]=='F')
{
if(done)
{
scanf("%s",ch);
scanf("%s",ch);
scanf("%s",ch);
continue;
}
fnum++;
scanf("%s",ch);
if(p[ch[]-'a'])
{
printf("ERR\n");
done=;
}
p[ch[]-'a']=;
stk[++stack_num]=ch[]-'a';
int fl1,num1=,fl2,num2=; scanf("%s",ch);
if(ch[]>=''&&ch[]<='')
{
fl1=;
for(register int j=;j<strlen(ch);++j)num1=(num1<<)+(num1<<)+(ch[j]^'');
}
else fl1=; scanf("%s",ch);
if(ch[]>=''&&ch[]<='')
{
fl2=;
for(register int j=;j<strlen(ch);++j)num2=(num2<<)+(num2<<)+(ch[j]^'');
}
else fl2=; if(fnum!=nxt)continue; if(fl1==&&fl2==)nxt=fnum;
else if(fl1==&&fl2==)
{
if(num1>num2)nxt=fnum;
else nxt=fnum+,sck[++sck_num]=;
}
else if(fl1==&&fl2==)
{
mark=;
nnum++;
if(ans<nnum)ans++;
nxt=fnum+;
sck[++sck_num]=;
}
else sck[++sck_num]=,nxt=fnum+;
}
else
{
if(done)continue;
if(!fnum)
{
printf("ERR\n");
done=;
}
if(done)continue;
if(nxt==fnum+)
{
fnum--,nxt--;
if(sck[sck_num--]==)nnum--;
}
else fnum--;
p[stk[stack_num--]]=;
}
}
if(done)return ;
if(fnum)
{
printf("ERR\n");
return ;
}
if(mark)
{
res[]='O',res[]='(',res[]='n',res[]='^';
int respos=,tmppos=;
char tmp[];
while(ans)tmp[++tmppos]=ans%+'',ans/=;
while(tmppos)res[++respos]=tmp[tmppos--];
res[++respos]=')';res[++respos]='\0';
}
else res[]='O',res[]='(',res[]='',res[]=')',res[]='\0'; if(!strcmp(s,res))printf("Yes\n");
else printf("No\n");
}
int main()
{
freopen("complexity.in","r",stdin);
freopen("complexity.out","w",stdout);
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);scanf("%s",s);
Dealwith();
}
return ;
}

NOIP2017 时间复杂度

最新文章

  1. 使用iframe实现图片上传预览效果
  2. ajxa
  3. [Android Pro] Android性能优化典范第一季
  4. 0525 Scrum 项目7.0
  5. 设计模式之美:Adapter(适配器)
  6. MQTT协议学习笔记
  7. Linux Shell编程一
  8. LinkedList和ArrayList的区别/何时使用LinkedList和ArrayList
  9. SAP 审计
  10. Eclipse对printf()不能输出到控制台的解决方法
  11. git对象存储
  12. gcc编译参数-fPIC问题 `a local symbol&#39; can not be used when making a shared object;
  13. Lucene学习总结之六:Lucene打分公式的数学推导
  14. 基于visual Studio2013解决C语言竞赛题之1013字符串查找
  15. Boost.Hana在visual studio 2017 rc中的残缺使用
  16. [Git]06 如何提交空目录
  17. Docker系统四:Dcoker的镜像管理
  18. UWP 使用Telerik Chart控件
  19. maven中scope标签以及exclusions 记录
  20. 软件工程(FZU2015) 增补作业

热门文章

  1. 高速下载百度网盘的方法,只需要一个软件【win/mac/linux】
  2. HTML中的map和area标签
  3. BAT面试必备——Java 集合类
  4. WEB渗透测试基础工具
  5. easyx图形库做贪吃蛇游戏
  6. Bootstrap学习--栅格系统
  7. php 数组去重
  8. 详细教你实现BST(二叉排序树)
  9. 读取.properties配置文件并保存到另一个.properties文件内
  10. servlet 路径问题