pta 习题集5-19 列车厢调度】的更多相关文章

1 ====== <--移动方向 / 3 ===== \ 2 ====== -->移动方向 大家或许在某些数据结构教材上见到过"列车厢调度问题"(当然没见过也不要紧).今天,我们就来实际操作一下列车厢的调度.对照上方的ASCII字符图,问题描述如下: 有三条平行的列车轨道(1.2.3)以及1-3和2-3两段连接轨道.现有一列车厢停在1号轨道上,请利用两条连接轨道以及3号轨道,将车厢按照要求的顺序转移到2号轨道.规则是: 每次转移1节车厢: 处在1号轨道的车厢要么经过1-3连…
1 ====== <--移动方向 / 3 ===== \ 2 ====== -->移动方向 大家或许在某些数据结构教材上见到过“列车厢调度问题”(当然没见过也不要紧).今天,我们就来实际操作一下列车厢的调度.对照上方的ASCII字符图,问题描述如下: 有三条平行的列车轨道(1.2.3)以及1-3和2-3两段连接轨道.现有一列车厢停在1号轨道上,请利用两条连接轨道以及3号轨道,将车厢按照要求的顺序转移到2号轨道.规则是: 每次转移1节车厢: 处在1号轨道的车厢要么经过1-3连接道进入3号轨道(该…
Xxy 的车厢调度(train.cpp/c/pas)Description有 一 个 火 车 站 , 铁 路 如 图 所 示 ,每辆火车从 A 驶入,再从 B 方向驶出,同时它的车厢可以重新组合.假设从 A 方向驶来的火车有 n 节(n<=1000) ,分别按照顺序编号为 1,2,3,…,n.假定在进入车站前,每节车厢之间都不是连着的,并且它们可以自行移动到 B处的铁轨上. 另外假定车站 C 可以停放任意多节车厢.但是一旦进入车站 C,它就不能再回到 A 方向的铁轨上了,并且一旦当它进入 B 方…
车厢调度(train.cpp) [问题描述]        有一个火车站,铁路如图所示,每辆火车从A驶入,再从B方向驶出,同时它的车厢可以重新组合.假设从A方向驶来的火车有n节(n<=1000),分别按照顺序编号为1,2,3,…,n.假定在进入车站前,每节车厢之间都不是连着的,并且它们可以自行移动到B处的铁轨上.另外假定车站C可以停放任意多节车厢.但是一旦进入车站C,它就不能再回到A方向的铁轨上了,并且一旦当它进入B方向的铁轨,它就不能再回到车站C.        负责车厢调度的工作人员需要知道…
[题目描述] 有一个火车站,铁路如图所示,每辆火车从A驶入,再从B方向驶出,同时它的车厢可以重新组合.假设从A方向驶来的火车有n节(n≤1000),分别按照顺序编号为1,2,3,…,n.假定在进入车站前,每节车厢之间都不是连着的,并且它们可以自行移动到B处的铁轨上.另外假定车站C可以停放任意多节车厢.但是一旦进入车站C,它就不能再回到A方向的铁轨上了,并且一旦当它进入B方向的铁轨,它就不能再回到车站C.负责车厢调度的工作人员需要知道能否使它以a1,a2,…,an的顺序从B方向驶出,请来判断能否得…
有 一 个 火 车 站 , 铁 路 如 图 所 示 ,每辆火车从 A 驶入, 再从 B 方向驶出,同时它的车厢可以重新组合.假设 从 A 方向驶来的火车有 n 节(n<=1000) ,分别按照顺 序编号为 1,2,3,…,n.假定在进入车站前,每节 车厢之间都不是连着的,并且它们可以自行移动到 B 处的铁轨上. 另外假定车站 C 可以停放任意多节车厢. 但是一旦进入车站 C,它就不能再回到 A 方向的铁轨 上了,并且一旦当它进入 B 方向的铁轨,它就不能再 回到车站 C. 负责车厢调度的 xxy…
这一题我以前研究过哈哈哈~ (train.cpp/c/pas) Description 有 一 个 火 车 站 , 铁 路 如 图 所 示 ,每辆火车从 A 驶入,再从 B 方向驶出,同时它的车厢可以重新组合. 假设从 A 方向驶来的火车有 n 节(n<=1000),分别按照顺序编号为 1,2,3,…,n. 假定在进入车站前,每节车厢之间都不是连着的,并且它们可以自行移动到 B处的铁轨上. 另外假定车站 C 可以停放任意多节车厢. 但是一旦进入车站 C,它就不能再回到 A 方向的铁轨上了,并且一…
1357:车厢调度(train) [题目描述] 有一个火车站,铁路如图所示,每辆火车从A驶入,再从B方向驶出,同时它的车厢可以重新组合.假设从A方向驶来的火车有nn节(n≤1000n≤1000),分别按照顺序编号为11,22,33,-,nn.假定在进入车站前,每节车厢之间都不是连着的,并且它们可以自行移动到B处的铁轨上.另外假定车站C可以停放任意多节车厢.但是一旦进入车站C,它就不能再回到A方向的铁轨上了,并且一旦当它进入B方向的铁轨,它就不能再回到车站C. 负责车厢调度的工作人员需要知道能否使…
假设以S和X分别表示入栈和出栈操作.如果根据一个仅由S和X构成的序列,对一个空堆栈进行操作,相应操作均可行(如没有出现删除时栈空)且最后状态也是栈空,则称该序列是合法的堆栈操作序列.请编写程序,输入S和X序列,判断该序列是否合法. 输入格式: 输入第一行给出两个正整数N和M,其中N是待测序列的个数,M(≤50≤50)是堆栈的最大容量.随后N行,每行中给出一个仅由S和X构成的序列.序列保证不为空,且长度不超过100. 输出格式: 对每个序列,在一行中输出YES如果该序列是合法的堆栈操作序列,或NO…
其它pta数据结构编程题请参见:pta 题目 和简单版本不同的是,简单版本只需判断能否到达岸边,而这个版本要求求出最少跳数的路径. 简单版本用dfs实现,而这道题用BFS实现. 注意: 岛半径为7.5,而不是15.另外注意一步跳到岸边的情况. #include <iostream> #include <vector> #include <math.h> using namespace std; ; int N, D; struct point { int x, y; }…
假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为全校学生总数:K(≤2500),为总课程数.此后N行,每行包括一个学生姓名(3个大写英文字母+1位数字).一个正整数C(≤20)代表该生所选的课程门数.随后是C个课程编号.简单起见,课程从1到K编号. 输出格式: 顺序输出课程1到K的选课学生名单.格式为:对每一门课,首先在一行中输出课程编号和选课学生总数(之间用空格分隔),之后…
人类学研究对于家族很感兴趣,于是研究人员搜集了一些家族的家谱进行研究.实验中,使用计算机处理家谱.为了实现这个目的,研究人员将家谱转换为文本文件.下面为家谱文本文件的实例: John Robert Frank Andrew Nancy David 家谱文本文件中,每一行包含一个人的名字.第一行中的名字是这个家族最早的祖先.家谱仅包含最早祖先的后代,而他们的丈夫或妻子不出现在家谱中.每个人的子女比父母多缩进2个空格.以上述家谱文本文件为例,John这个家族最早的祖先,他有两个子女Robert和Na…
地道战是在抗日战争时期,在华北平原上抗日军民利用地道打击日本侵略者的作战方式.地道网是房连房.街连街.村连村的地下工事,如下图所示. 我们在回顾前辈们艰苦卓绝的战争生活的同时,真心钦佩他们的聪明才智.在现在和平发展的年代,对多数人来说,探索地下通道或许只是一种娱乐或者益智的游戏.本实验案例以探索地下通道迷宫作为内容. 假设有一个地下通道迷宫,它的通道都是直的,而通道所有交叉点(包括通道的端点)上都有一盏灯和一个开关.请问你如何从某个起点开始在迷宫中点亮所有的灯并回到起点? 输入格式: 输入第一行…
哥尼斯堡是位于普累格河上的一座城市,它包含两个岛屿及连接它们的七座桥,如下图所示. 可否走过这样的七座桥,而且每桥只走过一次?瑞士数学家欧拉(Leonhard Euler,1707-1783)最终解决了这个问题,并由此创立了拓扑学. 这个问题如今可以描述为判断欧拉回路是否存在的问题.欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路.现给定一个无向图,问是否存在欧拉回路? 输入格式: 输入第一行给出两个正整数,分别是节点数NN (1≤N≤10001≤N≤1000)和边数…
某学校有N个学生,形成M个俱乐部.每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈.一个学生可以同时属于若干个不同的俱乐部.根据"我的朋友的朋友也是我的朋友"这个推论可以得出,如果A和B是朋友,且B和C是朋友,则A和C也是朋友.请编写程序计算最大朋友圈中有多少人. 输入格式: 输入的第一行包含两个正整数N(≤≤30000)和M(≤≤1000),分别代表学校的学生总数和俱乐部的个数.后面的M行每行按以下格式给出1个俱乐部的信息,其中学生从1~N编号: 第i个俱乐部的人数Mi(空格…
假设全校有最多40000名学生和最多2500门课程.现给出每门课的选课学生名单,要求输出每个前来查询的学生的选课清单. 输入格式: 输入的第一行是两个正整数:N(≤≤40000),为前来查询课表的学生总数:K(≤≤2500),为总课程数.此后顺序给出课程1到K的选课学生名单.格式为:对每一门课,首先在一行中输出课程编号(简单起见,课程从1到K编号)和选课学生总数(之间用空格分隔),之后在第二行给出学生名单,相邻两个学生名字用1个空格分隔.学生姓名由3个大写英文字母+1位数字组成.选课信息之后,在…
[先说点出题背景] 这个题是为低年级同学.学C语言的同学准备的,因为,对这部分同学,这个题目编写起来略有一点复杂.如果是高年级.学过了正则表达式(Regular Expression)的同学或者学过了Java等OO语言的同学做这个题,应当发现这题比较简单吧.哦,对了,什么是tokenizer?请自行查询解决.反正在此处不应翻译成"令牌解析器". [正题] 四则运算表达式由运算数(必定包含数字,可能包含正或负符号.小数点).运算符(包括+.-.*./)以及小括号((和))组成,每个运算数…
本题要求实现一个对数组进行循环左移的简单函数:一个数组aa中存有nn(>0>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向左移mm(≥0≥0)个位置,即将aa中的数据由(a0a1⋯an−1a​0​​a​1​​⋯a​n−1​​)变换为(am⋯an−1a0a1⋯am−1a​m​​⋯a​n−1​​a​0​​a​1​​⋯a​m−1​​)(最前面的mm个数循环移至最后面的mm个位置).如果还需要考虑程序移动数据的次数尽量少,要如何设计移动的方法? 输入格式: 输入第1行给出正整数nn(≤10…
假设有九宫格输入法键盘布局如下: [ 1,.?! ] [ 2ABC ] [ 3DEF ] [ 4GHI ] [ 5JKL ] [ 6MNO ] [ 7PQRS ] [ 8TUV ] [ 9WXYZ ] [ 0空 ] 注意:中括号[ ]仅为了表示键盘的分隔,不是输入字符.每个中括号中,位于首位的数字字符即是键盘的按键,按一下即可输入该数字字符.多次按同一个键,则输入的字符依次循环轮流,例如按两次3,则输入D:按5次7,则输入S:按6次2,则输入A.按键0的输入组合是0和空格字符,即按两次0输入空格…
给定一个顺序存储的线性表,请设计一个算法查找该线性表中最长的连续递增子序列.例如,(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8). 输入格式: 输入第1行给出正整数nn(≤105≤10​5​​):第2行给出nn个整数,其间以空格分隔. 输出格式: 在一行中输出第一次出现的最长连续递增子序列,数字之间用空格分隔,序列结尾不能有多余空格. 输入样例: 15 1 9 2 5 7 3 4 6 8 0 11 15 17 17 10 输出样例: 3 4 6 8 #inclu…
本题要求计算并输出不超过n的最大的k个素数以及它们的和. 输入格式: 输入在一行中给出n(10≤≤n≤≤10000)和k(1≤≤k≤≤10)的值. 输出格式: 在一行中按下列格式输出: 素数1+素数2+-+素数k=总和值 其中素数按递减顺序输出.若n以内不够k个素数,则按实际个数输出. 输入样例1: 1000 10 输出样例1: 997+991+983+977+971+967+953+947+941+937=9664 输入样例2: 12 6 #include <iostream> #inclu…
给定某数字AA(1≤A≤91≤A≤9)以及非负整数NN(0≤N≤1000000≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯AS=A+AA+AAA+⋯+AA⋯A(NN个AA).例如A=1A=1, N=3N=3时,S=1+11+111=123S=1+11+111=123. 输入格式: 输入数字AA与非负整数NN. 输出格式: 输出其NN项数列之和SS的值. 输入样例: 1 3 输出样例: 123 大数 #include <iostream> #include <strin…
给定两个整型数组,本题要求找出不是两者共有的元素. 输入格式: 输入分别在两行中给出两个整型数组,每行先给出正整数NN(≤20≤20),随后是NN个整数,其间以空格分隔. 输出格式: 在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格.题目保证至少存在一个这样的数字.同一数字不重复输出. 输入样例: 10 3 -5 2 8 0 3 5 -15 9 100 11 6 4 8 2 6 -5 9 0 100 8 1 输出样例: 3 5 -15 6 4 1 #i…
一.学习总结 1.写出你认为本周学习中比较重要的知识点关键词 ·抽象数据类型 ·栈和队列 2.思维导图 二.PTA实验作业 选题: 1.7-1 jmu-字符串是否对称(20 分) 2.7-4(选做) 列车厢调度(25 分) 3.7-2 银行业务队列简单模拟(25 分) 题目1:7-1 jmu-字符串是否对称 1.设计思路 #头文件 int main(){ 定义字符串 c; 输入字符串; 定义字符型栈ch; 定义整型变量 len,i,a; len <- c.size(); i <- 0; a &…
====System.Data.SqlClient.SqlException: 从 bcp 客户端收到一个对 colid 19 无效的列长度. 从0开始数,数据库上表的第19列…
题号:a001: 哈囉 背景知识:输出语句,while not eof 题号:a002: 簡易加法 背景知识:输出语句,while not eof,加法运算 题号:a003: 兩光法師占卜術 背景知识:while not eof,分支语句,求余 PS:%表示求余 题号:a004: 文文的求婚 背景知识:while not eof,分支语句,判断闰年 题号:a005: Eva 的回家作業 背景知识:循环,if语句,等比数列,等差数列,输出语句 题号:a006: 一元二次方程式 背景知识:if语句的…
并发指的是在同一时间运行多个任务.在单核CPU的情况下,它通过分时的方式实现,如果有多个CPU可用,则是真正意义上的多个任务“并行”执行了. OS X和iOS提供了多个API支持并发编程.每个API都有自己特殊的功能和限制,适用于完成不同的任务.它们也分布在不同的抽象层次,我们可以通过底层API去做些非常接近硬件的底层操作,但这样的话,我们也需要做更多的事去保证一切运行正常. 并发编程是件非常棘手的事,有着许多复杂的问题和陷阱,而且在使用像GCD或NSOperationQueue这样的API时我…
1.老老实实把课本上的题目做完.其实说科大的课本难,我以为这话不完整.科大的教材,就数学系而言还是讲得挺清楚的,难的是后面的习题.事实上做1道难题的收获是做10道简单题所不能比的. 2.每门数学必修课至少要看一本参考书,尽量做一本习题集. 3.数学分析别做吉米,除非你太无聊,推荐北大方企勤的习题集.此外注意一下有套波兰的数学分析习题集,是不是搞得到中文或英文版. 4.线性代数推荐普罗斯库列科夫的<<线性代数习题集>>和法捷耶夫的<<高等代数习题集>>.莫斯科…
OC中并发编程的相关API和面临的挑战(1) 小引 http://www.objc.io/站点主要以杂志的形式,深入挖掘在OC中的最佳编程实践和高级技术,每个月探讨一个主题,每个主题都会有几篇相关的文章出炉,2013年7月份的主题是并发编程,今天挑选其中的第2篇文章(Concurrent Programming: APIs and Challenges)进行翻译,与大家分享一下主要内容.由于内容比较多,我将分两部分翻译(API和难点)完成,翻译中,如有错误,还请指正.   目录 1.介绍 2.O…
电商的秒杀和抢购,对我们来说,都不是一个陌生的东西.然而,从技术的角度来说,这对于Web系统是一个巨大的考验.当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要.这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因? 一.大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战.如果Web系统不做针对性的优化,会轻而易举地陷入到异常状态.我们现在一起…