http://acm.hdu.edu.cn/showproblem.php?pid=1022
STL中栈的应用练习,数组要开够啊。。。无语
View Code
#include <iostream> #include <stack> using namespace std; int main() { stack <char> s; char in[11],out[11]; int n; bool flag[30]; while(~scanf("%d%s%s",&n,in,out)) { int i,j,cnt; i=j=cnt=0; while(j<n) { if(!s.empty() && s.top()==out[j]) { s.pop(); flag[cnt++]=false; j++; } else { s.push(in[i]); flag[cnt++]=true; i++; } } if(!s.empty()) puts("No."); else { puts("Yes."); for(i=0;i<cnt;i++) if(flag[i]) puts("in"); else puts("out"); } puts("FINISH"); while(!s.empty())s.pop(); } return 0; }