栈的简单题
#include<stdio.h>
#include<stack>
using namespace std;
int main()
{
stack<char>Q;
int i,n,a[200],j,num;
char ch1[200],ch2[200];
while(scanf("%d",&n)!=-1)
{
memset(a,-1,sizeof(a));
scanf("%s%s",ch1,ch2);
int len2=strlen(ch2);
int len1=strlen(ch1);
i=0;j=0;
num=0;
while(j<len2)
{
Q.push(ch1[j++]);
a[num++]=1;
while(!Q.empty()&&Q.top()==ch2[i])
{
Q.pop();i++;
a[num++]=0;
}
}
if(!Q.empty())
{
while(!Q.empty())
Q.pop();
printf("No.\n");
puts("FINISH");
}
else
{
puts("Yes.");
for(i=0;i<num;i++)
{
if(a[i]==1)
puts("in");
else puts("out");
}
puts("FINISH");
}
}
return 0;
}