这道题和poj的1363题很相近!!!!不解释了,基础栈的应用
#include<iostream>
#include<stack>
using namespace std;
char a[15],b[15],sign[15];
int main()
{
int n;
stack <int> q;
while(cin>>n)
{
scanf("%s%s",a,b);
memset(sign,0,sizeof(sign));
int len=strlen(a);
q.push(a[0]);
sign[0]=1;
int s=1;
int t=1,cou=0;
while(t<=len&&cou<len)
{
if(!q.empty()&&q.top()==b[cou])
{
cou++;
q.pop();
sign[s++]=2;
}
else
{
q.push(a[t++]);
sign[s++]=1;
}
}
while(!q.empty())
q.pop();
if(cou==len)
{
printf("Yes.\n");
for(int i=0;i<s;i++)
{
if(sign[i]==1)
printf("in\n");
if(sign[i]==2)
printf("out\n");
}
printf("FINISH\n");
}
else
{
printf("No.\n");
printf("FINISH\n");
}
}
return 0;
}