铁路(栈)
来源:互联网 发布:逆袭网络剧第一集 编辑:程序博客网 时间:2024/06/10 14:56
某城市有一个火车站,有n节车厢从A方向驶入车站,按进站的顺序编号为1~n。现让它们按照某种特定的顺序进入B方向的铁轨并驶出车站。为了重组车厢,你可以借助中转站C。在程序中输入车厢数目和出站的特定顺序,如果可以则输出Yes,否者输出No。
样例输入:
5
1 2 3 4 5
5
5 4 1 2 3
6
6 5 4 3 2 1
样例输出:
Yes
No
Yes
分析:
考虑好入栈时会有哪些情况。
#include <iostream>#include <cstdio>#include <stack>using namespace std;const int MAXN = 1000 + 10;int n, target[MAXN];int main() { while (scanf("%d", &n) == 1) { stack<int> s; int A = 1,B = 1; for (int i = 1; i <= n; i++) scanf("%d", &target[i]); //输入的出栈顺序 int ok = 1; while (B <= n) { if (A == target[B]) { A++; B++;} //当入栈后又直接出栈的情况 else if (!s.empty() && s.top() == target[B]) { s.pop(); B++;} //当栈顶元素等于出栈顺序元素 else if (A <= n) s.push(A++); //入栈后没有直接出栈 else { ok = 0; break; } } printf("%s\n", ok ? "YES" : "NO"); } return 0;}
阅读全文
0 0
- 铁路(栈)
- 铁路栈问题(HWoj)
- 铁路栈问题
- 铁路栈问题
- 铁路栈问题
- 铁路栈的问题
- 铁路栈问题
- 华为OJ 高级题(一) 铁路栈问题
- 华为OJ 铁路栈问题
- UVa Problem 10039 Railroads (铁路)
- UVa Problem 10039 Railroads (铁路)
- 南宁市二手房铁路公积金贷款流程(一)
- 南宁市二手房铁路公积金贷款流程(二)
- 南宁市二手房铁路公积金贷款流程(三)
- 铁路修复计划(裸Kruskal+二分)
- [华为机试练习题]26.铁路栈问题
- 铁路现代化技术系统整理(一)之TDCS
- 铁路现代化技术系统整理(二)之TMIS
- win7与ubuntu14.04双系统下修改默认启动项
- LaTex(PART VIII)文档类和页面布局相关
- 22_IO流
- Java Thread
- [Python 实战]
- 铁路(栈)
- cocos2d-x 之TableView
- 调整linux内核尽量用内存,而不用swap
- HADOOP1.X中HDFS工作原理
- 23_File类递归练习
- 习题3.1(2)
- 统计每年每月的信息
- 滚粗了,拜拜
- SpringMvc 页面跳转