问题1406--Rails

1406: Rails

时间限制: 1Sec 内存限制:128 MB
提交:194 解决:104
[ 状态] [ 讨论版] [ 提交] [命题人: ]
题目描述
PopPush 城有一个著名的、建于上个世纪的火车站,车站的铁路如图所示。
每个火车都从 A 方向驶入车站,再从 B 方向驶出车站,同时它的车厢可以进行某种形式的重新组合。假设从 A 方向驶来的火车有 N 节车厢( N<=1000 ),分别按顺序编号为 1, 2, ..., N 。负责车厢调度的工作人员需要知道能否使它以 a1, a2, ..., aN 的顺序从 B 方向驶出。请你给他写一个程序,用来判断能否得到指定的车厢顺序。假定在进入车站之前每节车厢之间都是不连着的,并且他们可以自行移动,直到处在 B 方向的铁轨上。另外假定车站里可以停放任意多节的车厢。但是一旦一节车厢进入车站,它就不能再回到 A 方向的铁轨上了,并且一旦它进入 B 方向的铁轨后,它就不能再回到车站。
输入
输入文件包含很多段,每一段是很多行。除了最后一段外,每一段都定义了一辆货车以及很多所需要的重组顺序。每一段的第一行是上面所说的整数 N ,接下来的每一行都是 1, 2, ..., N 的一个置换,每段的最后一行是数字 0
最后一段只包含数字 0。
输出
输出文件中的每一行都和输入文件中的一个描述置换的行相对应,并且用 Yes 表示可以把它们编排成所需的顺序,否则用 No 表示。另外,用一个空行表示输入文件的对应段的结束。输入文件中最后的空段不需要再输出文件中有内容相对应。
样例输入 Copy
5 1 2 3 4 5 5 4 1 2 3 0 6 6 5 4 3 2 1 0 0
样例输出 Copy
Yes No Yes
来源/分类