论坛首页 Java企业应用论坛

出个题儿大家玩玩

浏览 1582 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-09-17  
问题:
一家铁路公司,要实现一个自动编组程序。
有三条在两头连通的铁轨,一台牵引机车,假设来了十节车厢,然后给这十节车厢编上号,比如:
C C C C C C C C C C
2 6 7 1 8 5 4 9 3 10
C表示火车车厢,下面是编号,要求按照标记好的顺序将火车车厢重新编组。牵引机车只能推或拉动车厢,而且其马力足够推或拉动10节车厢。
要求程序能够自动完成排序工作,并且要能够记录下每次机车移动车厢的情况,并将其打印成一张调度指令。这样,调度部门就可以根据这张指令,指挥机车进行编组了。

另外还有几点说明:
1 火车的车厢数是不定的。
(半个月之后,客户突然说)
2 铁轨的数量也可能会变化,因为没准哪天有根轨道坏了或者被另作他用了。
(又过了一个月,客户突然说)
3 有时可能会出现某节车厢存在有问题,编组时需要将其移出,也就是开来的n节车厢并不是每个都会编上指定的号码。

    如果是我做,我一定是先写个测试,然后建个叫车厢的类(Car),然后建个铁轨类(Rail),一点点推导,那过程估计相当漫长。跟几个计算机科学专业的朋友讨论,他们都会先建立数学模型。
有兴趣的话,大家一起来玩玩这个游戏。怎么编都成~~
   发表时间:2008-09-17  
什么是三条在两头连通的铁轨?
铁轨交叉么?
车厢停在哪个轨上?
重新编组的要求或规则是什么?
编好组后停在哪个轨上?
牵引机车两头都能挂车厢吗,还是只能一头?
铁轨的数量变化是否影响条数?
0 请登录后投票
   发表时间:2008-09-17  
hocus 写道
什么是三条在两头连通的铁轨?
铁轨交叉么?
车厢停在哪个轨上?
重新编组的要求或规则是什么?
编好组后停在哪个轨上?
牵引机车两头都能挂车厢吗,还是只能一头?
铁轨的数量变化是否影响条数?


--------------------------------
       |                  |
--------------------------------
        |                 |
---------------------------------
     
   三条横线表示三条铁轨,然后竖线表示连接两条铁轨的铁轨,当然是弯曲的。三条铁轨可以任选一条来自于中国铁路干线。
  重新编组的规则目前很简单,实际的复杂性引入进来就太繁琐了,就是按照编号,把车厢排好即可。
  编号组后放在哪个轨上也无所谓,因为是连通的。
  牵引机车两头都可以挂车厢,既可以推也可以拉。
  最后一个问题没看懂?我的意识是,现在我假设是三条铁轨,但是有可能程序开发完了,变成两条铁轨了,或者又买了条铁轨,还可能买新的机车,对两列火车同时编组,当然了,在这个题目里这些变化和复杂性就不多说了。
  看JE上讨论函数式编程,OO,结构化,面向数据库优劣的帖子甚多,那不如搞个题玩玩啦~~
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics