#include<stdio.h> #include<string.h> #include<algorithm> #include<math.h> #include<stack> using namespace std; int main() { stack<char> s1; int n,i,wet[50]; char a1[25],a2[25]; while(scanf("%d",&n)!=EOF) { scanf("%s%s",a1,a2); memset(wet,0,sizeof(wet)); int flag=0,temp=0; for(i=0;i<n;i++) { s1.push(a1[i]); wet[temp++]=1; while(!s1.empty()&&flag<n&&s1.top()==a2[flag]) { s1.pop(); wet[temp++]=2; flag++; } } if(flag==n) { printf("Yes. "); for(int j=0;j<temp;j++) { if(wet[j]==1) printf("in "); if(wet[j]==2) printf("out "); } } else printf("No. "); printf("FINISH "); } return 0; }
这个题的数据有特殊的 比如 进去的大于n个 但是只要出来的是目标就可以