全RE球助
查看原帖
全RE球助
1252442
lucy2012楼主2024/4/27 20:48

QwQ

#include<bits/stdc++.h>
using namespace std;
int t,n,b1[1000010],b2[1000010];
stack<int> a;
int main(){
	cin>>t;
	for(int i=1;i<=t;i++){
		cin>>n;
		for(int j=1;j<=n;j++)
			cin>>b1[j];
		for(int j=1;j<=n;j++)
		    cin>>b2[j];
		int cnt=1;
		a.push(b1[cnt++]);
		for(int j=1;j<=n;j++){
	        while(!a.empty()&&a.top()!=b2[j]&&cnt<=n){
				a.push(b1[cnt]);
				cnt++;
			}
			if(a.top()==b2[j]) a.pop();
		}
		if(a.empty())
		    cout<<"Yes"<<endl;
		else 
		    cout<<"No"<<endl;
		while(!a.empty()){
			a.pop();
		}
	}
	return 0;
}
2024/4/27 20:48
加载中...