THU2015 fall 2-2 Train
来源:互联网 发布:tensorflow有趣的项目 编辑:程序博客网 时间:2024/04/30 10:40
THU2015 fall 2-2 Train
描述
某列车调度站的铁道联接结构如图所示。
其中,A为入口,B为出口,S为中转盲端。所有铁道均为单轨单向式:列车行驶的方向只能是从A到S,再从S到B;另外,不允许超车。因为车厢可在S中驻留,所以它们从B端驶出的次序,可能与从A端驶入的次序不同。不过S的容量有限,同时驻留的车厢不得超过m节。
设某列车由编号依次为{1, 2, ..., n}的n节车厢组成。调度员希望知道,按照以上交通规则,这些车厢能否以(a1, a2, ..., an)的次序,重新排列后从B端驶出。
输入
共两行。
第一行为两个数n,m。
第二行为以空格分隔的n个数,表示待判断可行性的驶出序列(a1,a2,...,an)。
输出
仅一行。若驶出序列可行,则输出Yes;否则输出No。
输入样例1
5 21 2 3 5 4
输出样例1
Yes
输入样例2
5 53 1 2 4 5
输出样例2
No
限制
1 <= n <= 100,000,n为整数
0 <= m <= 100,000,m为整数
待判断的驶出序列保证为{1, 2, ..., n}的一个排列,
时间:1sec
空间:256MB
提示
一级提示
栈混洗
如代如下:
#include <stdio.h>const int SZ = 1 << 20; //提升IO buff struct fastio{char inbuf[SZ];char outbuf[SZ];fastio(){setvbuf(stdin, inbuf, _IOFBF, SZ);setvbuf(stdout, outbuf, _IOFBF, SZ);}}io;#define N 1600001int stack[N];int num[N-1];int out[2 * N];// 1-push;0-popint main(){int n, m;scanf("%d %d", &n, &m);for (int i = 0; i < n; i++)scanf("%d", &num[i]);int flag = 1;// 1-可行;0-noint k = 0;// out的下标int top = 0;// stack的下标for (int i = 1,j = 0; i <= n && j < n; i++){if (top < m) {out[k++] = 1;stack[top++] = i;} else {flag = 0;break;}if (i == num[j]) {j++;stack[--top] = 0;out[k++] = 0;while (top > 0 && stack[top - 1] == num[j]) {j++;stack[--top] = 0;out[k++] = 0;}}}if (flag == 0 || top != 0) printf("No\n");else printf("Yes\n");return 0;}
0 0
- THU2015 fall 2-2 Train
- THU2015 fall 2-4 Queap
- THU2015 fall 2-3 Rebuild
- THU2015 fall 1-2 Company
- THU2015 fall 1-1 Team
- THU2015 fall 1-3 Interview
- 2017 Fall SoftwareEngineering Learning (2)
- CS193p 2013 Fall Lecture 2 notes
- train
- train
- train
- train
- HDU1023 Train Problem 2 (卡特兰数列)
- 【DP】DP special train T3 粉刷匠2 题解
- Android 官网Train阅读记录——2
- Fall Regimen
- HDU 1022 Train Problem I && PAT 5-2 列车厢调度 栈
- Codeforces Round #418 (Div. 2) problem B. An express train to reveries
- 关于IOS内存机制的较深入分析
- 【HDU1571】【有删除操作的队列模拟】下沙小面的(1)
- linux下c/c++实例之三只允许单个程序运行
- iOS内存管理机制解析
- 数据挖掘与预测分析术语总结
- THU2015 fall 2-2 Train
- 《C Primer Plus》学习笔记之 C数据的属性(一)数据类型
- iOS开发经验总结—内存管理
- SQL Server中Len和DataLength的区别
- 算法
- python进程&线程
- html5标签学习
- iOS9 怎么使用 Http 网络请求
- array_unique