栈的运用题目,注意最后要清空栈,否则会WA
代码:
#include<iostream>
#include<vector>
#include<string>
#include<stack>
using namespace std;
int main(){
int n,i,j;
char in[100],out[100];
stack<char> s;
vector<string> steps;
while(cin>>n>>in>>out){
i=j=0;
while(i<n){
s.push(in[i++]);
steps.push_back("in");
while(!s.empty()){
if(s.top()==out[j]&&j<=n){
s.pop();
steps.push_back("out");
j++;
}
else
break;
}
}
if(s.empty()){
cout<<"Yes."<<endl;
for(i=0;i<steps.size();i++)
cout<<steps[i]<<endl;
cout<<"FINISH"<<endl;
}
else
cout<<"No."<<endl<<"FINISH"<<endl;
steps.clear();
for(i=s.size();i>0;i--)
s.pop();
}
return 0;
}