题解
2025-08-20 11:52:05
发布于:江苏
6阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a[1010],b[1010],j=0,k=0;//审核与记录索引
cin>>n;
stack<int>s;
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n;i++){
cin>>b[i];
}
s.push(a[0]);//初始化
while(j<n){
if(s.empty()||s.top()!=b[j]){
if(k>=n){//元素已经取完
cout<<"No";
return 0;
}
s.push(a[k++]);//否则继续审核元素
}
else{
s.pop();//弹出
++j;//出栈序列下一个元素
}
}
cout<<"Yes";
}
这里空空如也
有帮助,赞一个