【题目】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++;