【题意】就是问你能否将O1的顺序通过栈转变成O2的顺序;
【题解】模拟栈即可;
#include<cstdio>
char f[1000001],w[10];
int a[2000001];
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
char ch;
while(ch=getchar(),ch==' ');
for(int i=1;i<=n;i++)f[i]=ch,ch=getchar();
while(ch==' ')ch=getchar();
int p=0,h=0,t=0;
while(ch!='\n')
{
if(t>0&&w[t]==ch){t--,a[++h]=0;while(ch=getchar(),ch==' ');}
else{
if(p==n||t==9)break;
w[++t]=f[++p];
a[++h]=1;
}
}
if(ch!='\n'){printf("No.\n");while(ch=getchar(),ch!='\n');}//这一步坑了我不就,没有考虑到;
else {
printf("Yes.\n");
for(int j=1;j<=h;j++)
if(a[j]==0)printf("out\n");
else printf("in\n");
}
printf("FINISH\n");
}
return 0;
}