shadowworrier @ 2023-03-30 17:42:45
不知道哪里错了,求助
#include <bits/stdc++.h>
using namespace std;
int main()
{
int i,j,q,n,a[100001],b[100001],cnt=0;
stack<int> p;
cin>>q;
for(i=0;i<q;i++){
cin>>n;
for(j=0;j<n;j++){
cin>>a[j];
}
for(j=0;j<n;j++){
cin>>b[j];
}
for(j=0;j<n;j++){
p.push(a[j]); //推入数据
while(!p.empty()&&p.top()==b[cnt]){ //如果栈顶元素与b[cnt]中相同且栈不为空,出栈,cnt++
p.pop();
cnt++;
}
}
if(p.empty()){ //如果栈为空,则有效
cout<<"Yes"<<endl;
}else{
cout<<"No"<<endl;
}
while(!p.empty()){
p.pop();
}
}
return 0;
}
by bamboo12345 @ 2023-03-30 17:52:38
@shadowworrier 多测cnt不清空你这确实得炸
by shadowworrier @ 2023-03-30 19:11:42
@bamboo123 谢谢大佬