您的位置:首页 > 其它

杭电1022题

2012-04-19 22:59 330 查看
栈的运用题目,注意最后要清空栈,否则会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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: