日了啊,这道题每个输入中有多组输入,每处理完一组输入需要清空STL的stack类对象的啊。要是自己写的栈或许能想起来重新top=1,但是这用的STL现成的stack,就忘了while(!sk.empty())sk.pop();了,离谱。

好久好久好久都没发现原来是错在这里了,一直以为自己的dfs搜索哪里错了,结果是这么一个弱智错误,我要是再犯一次我就是真弱智了,下次绝不再犯。一组输入中包含多次问题询问是每次回答完问题要重新归零初始化!!!一定记住!!!

Code

#include <iostream>
#include <stack> using namespace std; int q,n,s[100005],e[100005];
stack<int> sk; int dfs(int i,int t)
{
if(t==n+1)
{
if(i==n+1)return 1;
else
{
if(sk.top()==e[i])
{
sk.pop();
return dfs(i+1,t);
}
else return 0;
}
}
if(!sk.empty()&&sk.top()==e[i])
{
sk.pop();
return dfs(i+1,t);
}
else
{
sk.push(s[t]);
return dfs(i,t+1);
}
} int main()
{
scanf("%d",&q);
for(int i=1;i<=q;i++)
{
scanf("%d",&n);
for(int i=1;i<=n;i++)scanf("%d",&s[i]);
for(int i=1;i<=n;i++)scanf("%d",&e[i]);
if(dfs(1,1)==1)cout<<"Yes"<<endl;
else cout<<"No"<<endl;
while(!sk.empty())sk.pop();
}
return 0;
}

随机推荐

  1. 关于yolov3在训练自己数据集时容易出现的bug集合,以及解决方法

    早先写了一篇关于yolov3训练自己数据集的博文Pytorch实现YOLOv3训练自己的数据集 其中很详细的介绍了如何的训练自定义的数据集合,同时呢笔者也将一些容易出现的bug写在了博文中,想着的是可 ...

  2. Storm 集群的搭建及其Java编程进行简单统计计算

    一.Storm集群构建 编写storm 与 zookeeper的yml文件 storm yml文件的编写 具体如下: version: '2' services: zookeeper1: image: ...

  3. 江西财经大学第一届程序设计竞赛 I 题 小P和小Q

    题目链接:https://www.nowcoder.com/acm/contest/115/I 这题目要注意的是!!!pow函数前强制类型转换一定要float !!!一定要是float,double不 ...

  4. ElasticSearch之Get index settings API

    获取指定索引的参数的值. 获取指定索引的全部参数,命令样例如下: curl -X GET "https://localhost:9200/testindex_002/_settings?pr ...

  5. k8s~动态生成pvc和pv

    有时,我们不想手动建立pv和pvc,这时,我们可以通过strongClass存储类来帮我们实现,动态建立pvc,并动态为它分配pv存储空间,我们以nfs为例,说一下动态分配在nfs存储截至上建立pv的 ...

  6. 用AI在本地给.NET设计几张壁纸

    AI是当今和未来非常重要的技术领域之一,它在各个行业都有广泛的应用,如医疗保健.金融.教育.制造业等.学习AI可以让你了解和掌握未来技术发展的核心,并为未来的职业发展做好准备.现在有很多开源的Mode ...

  7. Programming Abstractions in C阅读笔记:p242-p245

    <Programming Abstractions in C>学习第67天,p242-p245总结,总计4页. 一.技术总结 6.2小结主要讲回溯算法及递归算法在迷宫求解中应用,当然,理解 ...

  8. 2021-01-16:我截获了登录token的话,是不是就获得了登录状态,这样就不安全了。如何保证安全?

    福哥答案2021-01-06: 知乎答案: 首先,Token 一般放在 Header 或者 Cookies 中,Http 是明文传输,Https 是密文传输.可以一定程度防止Token 截获. 第二, ...

  9. 云原生微服务的下一站:Proxyless Service Mesh

    本文分享自华为云社区<DTSE Tech Talk | 第46期:云原生微服务的下一站:Proxyless Service Mesh>,作者:华为云社区精选. 本期直播主题是<云原生 ...

  10. 开发老人笔记:Git 常用命令清单

    摘要:git是目前世界上最先进的分布式版本控制系统. 多人协作 master:此分支用来发布稳定的代码,合并一般是由管理员合并 dev:此分支用于团队开发,团队成员向此分支提交代码 bug:此分支用于 ...