求助!!!1AC4WA

P4387 【深基15.习9】验证栈序列

一条小沙雕ovo @ 2022-10-03 15:16:02

#include<bits/stdc++.h>
using namespace std;
int nn,n,b,top,top2;
int main(){
    cin>>nn;
    for(int k=1;k<=nn;k++){
        top=1;
        top2=1;
        int a[100005]={};
        int c[100005]={};
        bool bb=0;
        cin>>n;
        for(int i=1;i<=n;i++){
            cin>>a[i];
        }
        for(int i=1;i<=n;i++){
            cin>>b;
            while(c[top-1]!=b){
                if(top2>n+1){
                    cout<<"No"<<endl;
                    bb=1;
                    break;
                }
                c[top++]=a[top2++];
            }
            top--;
            if(bb)break;
        }
        if(bb)continue;
        else if(c[top-1]==0)cout<<"Yes"<<endl;
        else cout<<"No"<<endl;
    }
    return 0;
}

|