求助大佬!
查看原帖
求助大佬!
948757
ybc2026_sutongyan楼主2023/11/21 20:50

自己试了几个也没问题,为啥全错了!

#include<bits/stdc++.h>
using namespace std;
int a[100001];
int s[100001];
int main() {
	int n;
	int kkk;
	cin>>kkk;
	while(kkk--) {
		cin>>n;
		for(int i=0;i<n;i++){
			cin>>s[i];
		}
		for(int i=0;i<n;i++){
			cin>>a[i];
		}
		
		stack <int> t;
		int i=0,xi=0;
		while(1) {
			if(i<n)t.push(s[i]);
			if(t.top()!=a[xi]) {
				if(i>=n) {
					cout<<"NO"<<endl;
					break;
				}
				i++;
			} else {
				t.pop();
				xi++;
				i++;
			}
			if(xi==n) {
				cout<<"YES"<<endl;
				break;
			}
		}
	}
	return 0;
}

2023/11/21 20:50
加载中...