哪里错了(QAQ)
查看原帖
哪里错了(QAQ)
245740
Adore_the_No_2楼主2021/12/25 16:12

RT

#include<bits/stdc++.h>
using namespace std;
int a[100001],b[100001];
stack<int> s;
int main()
{
	int T;
	cin>>T;
	while(T--)
	{

		int n,k=1;
		cin>>n;
		for(int i=1;i<=n;i++)
			cin>>a[i];
		for(int i=1;i<=n;i++)
			cin>>b[i];
		for(int i=1;i<=n;i++)
		{
			s.push(a[i]);
			if(s.top()==b[k])
			{
				s.pop();
				k++;
			}
		}
		for(int i=k;i<=n;i++)
		{
			if(s.top()==b[i])
				s.pop();
			else
				break;
		}
		if(s.empty())
		{
			cout<<"YES"<<endl;
		}
		else
			cout<<"NO"<<endl;
		if(!s.empty())
		{
			s.pop();
		}
	}
    return 0;
}
2021/12/25 16:12
加载中...