【Tsinghua】列车调度(Train)

这题没什么好说的,就是一个栈的实现,因为当时那个OJ不能用STL,就自己写了一个功能有,但是不完善的栈,反正解出题目了。。。。。。

注意:此题是第二次mooc课程,但是我参加的第一次mooc课,所以ac代码可能不能直接提交,需要修改

列车调度(Train)

描述

某列车调度站的铁道联接结构如图所示。

其中,A为入口,B为出口,S为中转盲端。所有铁道均为单轨单向式:列车行驶的方向只能是从A到S,再从S到B;另外,不允许超车。因为车厢可在S中驻留,所以它们从B端驶出的次序,可能与从A端驶入的次序不同。不过S的容量有限,同时驻留的车厢不得超过m节。

设某列车由编号依次为{1, 2, ..., n}的n节车厢组成。调度员希望知道,按照以上交通规则,这些车厢能否以{a1, a2, ..., an}的次序,重新排列后从B端驶出。如果可行,应该以怎样

的次序操作?

输入

共两行。

第一行为两个整数n,m。

第二行为以空格分隔的n个整数,保证为{1, 2, ..., n}的一个排列,表示待判断可行性的驶出序列{a1,a2,...,an}。

输出

若驶出序列可行,则输出操作序列,其中push表示车厢从A进入S,pop表示车厢从S进入B,每个操作占一行。

若不可行,则输出No。

输入样例1

5 2
1 2 3 5 4

输出样例1

push
pop
push
pop
push
pop
push
push
pop
pop

输入样例2

5 5
3 1 2 4 5

输出样例2

No

限制

1 ≤ n ≤ 1,600,000

0 ≤ m ≤ 1,600,000

时间:2 sec

空间:256MB

AC的代码:

#include <stdio.h>
#define MANX 100005

int Stack[MANX];
int Out[MANX];
int sTop=0;	//栈顶指针

void push(int a)
{
	Stack[++sTop]=a;
}

void pop()
{
	sTop--;
}

int top()
{
	return Stack[sTop];
}

int main()
{
	// in 的时候一定是{1, 2, ..., n}
	int n,m;
	scanf("%d%d",&n,&m);

	int i;
	for(i=1;i<=n;i++)
		scanf("%d",&Out[i]);

	//算法开始
	int j=0;
	for(i=1;i<=n;i++)
	{
		//如果小于栈顶元素,直接可判断在栈中而无法出栈
		if(Out[i]<top())
		{
			printf("No\n");
			return 0;
		}

		//直到 Out[i] 的元素全部加入栈
		if(j<Out[i])
			while(j!=Out[i])
				push(++j);

		if(sTop>m)
		{
			printf("No\n");
			return 0;
		}

		if(Out[i]==top())
			pop();
	}

	printf("Yes\n");

	return 0;
}
时间: 2024-11-10 07:07:52

【Tsinghua】列车调度(Train)的相关文章

武广“经济列车”上路

这是一条解决京广铁路运输紧张压力的铁路,也是一条更加密切中部乃至内陆与珠三角地区联系的经济干线,它的开通不仅是交通高速化的趋势,也承载着必然而特殊的历史使命.或许正因如此,武广客运专线受到了前所未有的关注和热议. ■ 本刊记者 | 胡廷鸿 2009年12月26日上午9时,随着首发的武汉至广州北的G1001次动车组开出车站,经过4年半的建设,目前中国里程最长.运营时速最快的武广客运专线(以下简称"武广客专")正式投入运营. 设计时速350公里,武汉到广州仅用3个小时,世界上第一条时速达3

为了找工作-面向高校的轨道交通仿真系统开发,这个开发前景怎么样

问题描述 面向高校的轨道交通仿真系统开发,这个开发前景怎么样 求大神指点一下啊..... .................... 解决方案 做哪方面的开发?你要开发一款什么?软件吗? 解决方案二: 为高校进行道路设计吗 解决方案三: 运用计算机动态仿真手段,对轨道交通运营管理等进行仿真,从而指导车站设计和设施配置及运营优化,是轨道交通车站设计的新思路.国内外在这方面已具有较为成熟的经验!可以向这方面大胆前行···········少年 解决方案四: 运用计算机动态仿真手段,对轨道交通运营管理等进

地铁传送网迈进OTN新时代

华为近期宣布,其数通与OTN(Optical Transport Network,光传送网络)集成解决方案成功中标上海地铁高速数据网项目,助力国内首个城市轨道交通上层骨干传送网络建设,并成为OTN产品在国内地铁的首次应用. 上海市轨道交通于1993年5月28日正式运营,经过20多年的快速发展,截至2016年12月,共开通地铁线路14条(1-13号线.16号线),全网运营线路总长617公里,车站366座,运营里程和线网规模均雄居全球首位,是全世界最大的城市地铁系统. 随着规模日益扩大,城市轨道交通

沪地铁10号线追尾:信号商卡斯柯早有前科

每经记者 李卓 戴榆 张娟娟 陈都 查道坤发自北京.上海 上海地铁运营经历了有史以来最黯淡的一天. 该市轨道交通10号线昨日(9月27日)发生两列车追尾事故.根据昨晚上海市政府举行的新闻通气会,市卫生局局长徐建光介绍,就诊检查271人,其中180人出院,61人住院,30人观察.无危重伤员. 上海地铁官方微博道歉称,"今天是上海地铁有史以来最黯淡的一天,无论最终原因和责任怎样,给市民乘客造成的伤害和损失尤感愧疚--":在昨晚的新闻通气会上,申通地铁董事长俞光耀也鞠躬致歉,"我不

沿着铁路轨道线搜寻网络

无论是地上铁路还是地下铁路,乘客 都有可能在高速飞驰的列车车厢中享受无线网络带来的车厢内局域网.Internet接入和实时信息提供的服务.新兴公司尝试高速Wi-Fi美国一家成立于2006年的新兴公司Wi-Fi Rail最近表示,在车站和旧金山周边的海湾地区快速运输(BART)系统中一段轨道上的测试显示,该公司的 专利技术可以向乘客和候车人员提供超过15Mbps的无线网络,甚至比美国大多数家庭的无线Internet接入还要快.Wi-Fi Rail公司首席财务官Michael Cromar说,公司将

上海地铁10号线信号承包方同动车事故供应商

[<财经>综合报道]9月27日下午14:50左右,上海地铁十号线发生相撞事故.据悉,上海地铁10号线信号系统承包方卡斯柯公司,即是"7·23甬温线特大动车事故"的甬温线信号系统供应商,两年前该公司的信号错误还曾导致上海地铁1号线两车侧面相撞. 9月13日<中国青年报>曾刊登文章指出 网友多次反映10号线故障连发,地铁运营方申通地铁集团的解释称是信号系统故障.据悉,10号线信号系统的承包方是卡斯柯信号有限公司. 据<第一财经日报>报道,信号系统供应商卡

7·23事故供应商卡斯柯:原上海地铁事故责任方

欧阳亮 "7·23甬温线特大动车事故"让信号系统供应商卡斯柯信号有限公司(下称"卡斯柯")进入了公众视野.在本次事故发生的甬台温铁路上,卡斯柯为13个车站建设了调度集中系统.1个调度集中调度台. 事实上,两年前,因该公司提供的信号系统误发速度码,导致上海地铁1号线两列列车在上海火车站站附近侧面相撞时,卡斯柯已经被公众"瞩目"过一次,只不过那次没有这次"著名"而已. 卡斯柯成立于1986年,由中国铁路通信信号集团公司与阿尔斯通(

摩托罗拉本地化战略样板:铁路应用

■通信产业报记者 孟祥初 在 中国市场,摩托罗拉一直坚持深入的本地化战略.特别在专业无线通信领域,摩托罗拉与合作伙伴的精诚合作更迸发发了巨大能量.从早期产品销售到应用合作开发,摩托罗拉与本地伙伴共同成长,有力推动国内专业无线通信行业快速发发展. 为铁路行业量身定制 目前摩托罗拉在国内共有30余家合作伙伴,这些合作伙伴在摩托罗拉产品基础上,开发了列车调度系统.同播系统.集群系统.数字加密常规移动通信系统等数十个解决方案,成功应用于公共安全.铁路.公路.机场.港口.石油化工.建筑以及物业管理等行业.

刘利华:频谱资源有限供需矛盾将长期存在

工业和信息化部副部长刘利华2012年10月10日,工业和信息化部副部长刘利华在<人民邮电报>.<中国电子报>等媒体发表署名文章<加强体系建设 开创无线电管理工作新局面>.全文如下:在 刚刚结束的9月份,全国无线电管理机构开展了以"无线电频谱--稀缺的国家战略资源"为主题的无线电管理宣传月活动,使广大用频单位和更多的普通百姓进一步认识了解到频谱资源的重要性和稀缺性,使无线电管理工作得到了更多的理解与支持.无线电频谱是重要的国家战略资源.长期以来,各级无