题目信息:http://acm.hdu.edu.cn/showproblem.php?pid=1022
代码:
#include<iostream>
#include<cstdio>
#include<stack>
#include<cstring>
#include<algorithm>
using namespace std;
int main() {
stack<char>s;
int n,i,j;
char a[105],b[105];
int v[210];
while(scanf("%d%s%s",&n,a,b)!=EOF) {
while(!s.empty())
s.pop();
memset(v,-1,sizeof(v));
int cnt=0;
for( i=0,j=0; i<n; i++) {
s.push(a[i]);
v[cnt++]=1;
while(!s.empty()&& s.top()==b[j]) {
s.pop();
v[cnt++]=0;
j++;
}
}
if(j==n) {
printf("Yes.\n");
for(int i=0; i<cnt; i++) {
if(v[i])
printf("in\n");
else
printf("out\n");
}
printf("FINISH\n");
} else if(s.size()>0)
printf("No.\nFINISH\n");
}
}