duanfeitong @ 2022-09-25 09:39:41
样例过了但是0分全WA
#include<iostream>
using namespace std;
int a[1000005],topx=-1,topy=-1;
int x[1000005],y[1000005];
int t,n;
inline void push(int m,bool p)
{
if(p)x[++topx]=m;
else y[++topy]=m;
}
inline void pop(bool p)
{
if(p)topx--;
else topy++;
}
int size(bool p)
{
if(p) return topx+1;
else return topy+1;
}
int head(bool p)
{
if(p)return x[topx];
else return y[topy];
}
bool empty(bool p)
{
if(p) return topx==-1;
else return topy==-1;
}
int main()
{
cin>>t;
for(int tt=0;tt<t;tt++)
{
cin>>n;
for(int i=0;i<n;i++)
cin>>x[i];
for(int i=0;i<n;i++)
cin>>y[i];
for(int i=0;i<n;i++)
{
push(x[i],1);
if(head(1)==y[n-i-1])
{
pop(1);
}
}
// if(!empty(1))
// {
// cout<<"No"<<endl;
// continue;
// }
if(empty(1))
{
cout<<"Yes"<<endl;
}
else
cout<<"No"<<endl;
while(empty(1)) pop(1);
}
return 0;
}
by WorldHim @ 2022-09-25 09:54:40
其实没必要手打栈,用STL的stack也可以过
by Jlzj2009 @ 2022-09-25 14:25:14
同上