#include <iostream>
#include <stdio.h>
using namespace std;
int qq[100010];
int main()
{
int x,i,y;
int a[100010];
int b[100010];
scanf("%d",&x);
for(i=0;i<x;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&y);
while(y--)
{
int flag=0;
int p=0,p1=0;
for(i=0;i<x;i++)
{
scanf("%d",&b[i]);
if(p1==x)
{
if(qq[p]==b[i]&&p!=0)
{
p--;
}
else flag=1;
}
else if(qq[p]==b[i]&&p!=0)
{
p--;
}
else
{
while(a[p1]!=b[i]&&p1<x)
{
qq[++p]=a[p1];
p1++;
if(p1==x)flag=1;
}
p1++;
}
//printf("%d %d %d\n",qq[p],p,p1);
}
if(flag)printf("no\n");
else printf("yes\n");
}
}
数据结构实验之栈七:出栈序列判定
最新推荐文章于 2017-10-19 10:51:51 发布