0分

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

ABCKKK @ 2023-12-28 22:51:14

#include<bits/stdc++.h>
using namespace std;
int a[100003]={},b[100003]={};
stack<int > skt;
int main(){
    int n;
    cin>>n;
    int cut=1;
    for(int i=1;i<=n;i++){
        int m;
        cin>>m;
        for(int i=1;i<=m;i++){
            cin>>a[i];
        }
        for(int i=1;i<=m;i++){
            cin>>b[i];
        }
        for(int i=1;i<=m;i++){
            skt.push(a[i]);
            while(skt.top()==b[cut]){
                skt.pop();
                cut++;
                if(skt.empty()){
                    break;
                }
            }
        }
        if(skt.empty()){
            cout<<"Yes"<<endl;   
        }
        else{
            cout<<"No"<<endl;
        }
    }
    return 0;
}

by sansesantongshun @ 2023-12-29 08:05:53

输出No后没清空栈


|