stack80分,求助
查看原帖
stack80分,求助
1382982
jikky楼主2024/7/4 16:27
#include<bits/stdc++.h>
using namespace std;
int a[100002];
int c[100002];
stack<int> line;
int q;
int n;
int t=0;
int main(){

	cin>>q;
	while(q){
		cin>>n;
		for(int i=0;i<n;i++){
			scanf("%d",&a[i]);
		}
		for(int i=0;i<n;i++){
			scanf("%d",&c[i]);
		}
		for(int i=0;i<n;i++){
			line.push(a[i]);
			while(line.top()==c[t]){
				line.pop();
				t++;
				if(line.empty()){
					break;
				}
			}
		}
		if(t==n){
			printf("Yes\n");
		}
		else{
			printf("No\n");
		}
		t=0;
		q--;
		for(int i=0;i<n;i++){
			a[i]=0;
			c[i]=0;
		}
	}
	return 0;
}
2024/7/4 16:27
加载中...