车箱调度

输入

有n节车箱,n=0为全部工作结束;

再输入A站出车顺序:

再输入B站驶入顺序;

输出

可以调度输出Yes,不可以输出No

样例输入 

5
1 2 3 4 5
5 4 3 2 1
5
1 2 3 4 5
5 4 1 2 3
6
1 2 3 4 5 6
5 4 3 2 1 6
6
1 2 3 4 5 6
4 3 2 1 6 5
0

样例输出 

Yes
No
Yes
Yes

 code

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<vector>
#include<algorithm>
#include<set> 
#include<stack>
using namespace std;

int main()
{
	int n;
	while (cin >> n && n) {
		vector<int> pre(n+1);
		for (int i = 1; i <= n; i++) 
			cin >>pre[i];
			
		vector<int> target(n+1);
		bool flag = true;
		for (int i = 1; i <= n; i++) 
			cin>>target[i];
			
		stack<int> C;
		int A = 1, B = 1;
		while (B <= n) {
			if (pre[A] == target[B]) {
				B++;
				A++;
			}
			else if (!C.empty() && C.top() == target[B]) {
				B++;
				C.pop();
			}
			else if (A<=n) {//放入栈C中
				C.push(pre[A++]);
			}
			else {//上述情况都没遇上直接break 
				flag = false;
				break;
			}
		}
		if(flag) cout<<"Yes"<<endl;
		else cout<<"No"<<endl;
		target.clear();
		pre.clear();
		while(C.size()){
			C.pop();
		}

	}
	return 0;
}

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-22 09:12:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-22 09:12:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-22 09:12:02       87 阅读
  4. Python语言-面向对象

    2024-04-22 09:12:02       96 阅读

热门阅读

  1. ORAN每个端点和每个C平面消息的限制

    2024-04-22 09:12:02       39 阅读
  2. Nginx日志

    2024-04-22 09:12:02       36 阅读
  3. centos 7.9 安装 ftp 传输文件

    2024-04-22 09:12:02       39 阅读
  4. 爬虫(小案例)

    2024-04-22 09:12:02       34 阅读
  5. LeetCode hot100-29-Y

    2024-04-22 09:12:02       32 阅读
  6. 【AIGC调研系列】llama 3与GPT4相比的优劣点

    2024-04-22 09:12:02       44 阅读
  7. webpack -vite(Rollup )-Gulp (一)

    2024-04-22 09:12:02       33 阅读