hdu 1022 数据结构 stack模拟
#include <iostream> #include <stack> using namespace std; int main() { stack<char> s; char a[100],b[100]; int i,j,n,l,f[100]; while(cin>>n>>a>>b) { l=0; i=0; j=0; s.push(a[i]); f[l++]=1; while(i<n&&j<n) { if(s.size()&&s.top()==b[j]) { s.pop(); j++; f[l++]=0; }else{ s.push(a[++i]); f[l++]=1; } } if(i==n)//结束条件,模拟 { cout<<"No."<<endl; cout<<"FINISH"<<endl; }else{ cout<<"Yes."<<endl; for(i=0;i<l;i++) if(f[i])cout<<"in"<<endl; else cout<<"out"<<endl; cout<<"FINISH"<<endl; } } return 0; }
1,注意审题,确定题目类型,排除干扰条件
2,细节问题一定要处理好,开始点和结束点,必须注意