本文主要是介绍大家看看一道题:编号为123456789的火车经过如下轨道从左边入口处移动右边出口处(每车都必须且只能进临时轨道M一次,且不能再回左边入口处),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
大家看看一道题:编号为123456789的火车经过如下轨道从左边入口处移动右边出口处(每车都必须且只能进临时轨道M一次,且不能再回左边入口处)
按照从左向右的顺序,下面的结果不可能的是哪项?
A. 123876549
B. 321987654
C. 321456798
D. 987651234
我看答案分析是
解析:本题考查的是数据结构的栈。临时轨道M就是一个栈。
A是123挨个过去,45678入栈再出栈变成87654,9再过去。
B是123入栈再出栈变成321,456789入栈再出栈变成987654。
C是123入栈再出栈变成321,4567直接过去,89入栈再出栈变成98。
D是98765在前,则1234必须全部先入栈,98765过去后,剩下1234必须回到左边,再通过才能满足1234。但是题意要求不能回到左边入口处,所以这个选项不可行。
答案:D
以上是原题以及答案。
但是我对以上答案有几点疑问:
1. 首先作答者题意没弄清楚,题中说的很明白(每车都必须且仅能进临时轨道一次),答案中有不进临时轨道的情况。如A的分析。
2. 答案中说这是考查数据结构中栈的问题,我看是考虑栈和队列的问题。因为火车道本身就是一个队列。
基于以上两个疑问,我觉得答案分析的不对。如果通过M到右侧出口,顺序不是答案中的那样。
跪求哪位大神帮我分析分析。互相学习。
这篇关于大家看看一道题:编号为123456789的火车经过如下轨道从左边入口处移动右边出口处(每车都必须且只能进临时轨道M一次,且不能再回左边入口处)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!