【HDOJ】1022 Train Problem I

【题目】http://acm.hdu.edu.cn/showproblem.php?pid=1022

【报告】

    模拟,直接模拟一个栈的运行就行了。

【程序】

// Task: 1022 Train Problem I

// Designer: Rsky 2013/08/12
#include
#include
#include
#include
#include
using namespace std;
#define nil NULL
vector st;
vector ans;
int main()
{
    int n;
    string s1,s2;
    while (cin >> n >> s1 >> s2)
    {
        st.clear();ans.clear();
        bool flag=true;
        int k=0;
        int i=0;
        while (i
        {
            if (s1[k]==s2[i])
            {
                i++,k++;
                ans.push_back(1);
                ans.push_back(2);
            }else if (!st.empty()&&st.back()==s2[i])
            {
                ans.push_back(2);
                st.pop_back();
                i++;
            }else if (k
            {
                st.push_back(s1[k]);
                k++;
      

posted @ 2013-08-12 20:46  为美好世界献上珂学  阅读(103)  评论(0)    收藏  举报