题解
2024-02-17 11:24:03
发布于:广东
17阅读
0回复
0点赞
#include <iostream>
#include <stack>
using namespace std;
int n,m;
int a[100005]; //原来火车进站顺序
stack<int>st;
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>a[i];
while(m--)
{
int b[10005]={0}; //火车出站顺序
int idx=1;
for(int i=1;i<=n;i++) cin>>b[i];
//进站和出站顺序进行匹配
for(int i=1;i<=n;i++)
{
st.push(a[i]);
while(st.top()==b[idx])
{
st.pop();
idx++;
if(st.empty()) break;
}
}
if(st.empty()) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
while(!st.empty())
{
st.pop();
}
}
}
这里空空如也
有帮助,赞一个