题意
火车入站
给定123 即火车按照123 入站
给定321 问火车是否能按321 出站
如果能给定入栈出栈方式
Sample Input
3 123 321
3 123 312
Sample Output
Yes.
in
in
in
out
out
out
FINISH
No.
FINISH
思路
#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
const int mod=1000000007,N=2e5+10;
int arr[N];
int main(){
int n;
string s1,s2;
while(cin>>n>>s1>>s2)
{
stack<char> sta;
int now=0;
vector<string> ve;
for(int i=0;i<n;i++)
{
sta.push(s1[i]);
ve.push_back("in");
while(sta.size()&&sta.top()==s2[now])//符合的时候,开始执行循环
{
sta.pop();
ve.push_back("out");
now++;
}
}
if(sta.empty())//为空则为1 即代表栈中元素全部弹出
{
cout<<"Yes."<<endl;
for(auto v:ve)
{
cout<<v<<endl;
}
cout<<"FINISH"<<endl;
}
else
{
cout<<"No.\nFINISH"<<endl;
}
}
return 0;
}