(有兴趣的朋友进来看看)一道智力编程题

题目是:
有A、B、C、D四个人,他们各说了两句话:
A说:
     1)我是在B之前一位到达(举例:比如,B第二位到达,那么A就是第一位,下同)
     2)我不是第一名到达的
B说:
     1)我是在C之前一位到达
     2)我不是第二名到达的
C说:
     1)我是在D之前一位到达
     2)我不是第三名到达的
D说:
     1)我是在A之前一位到达
     2)我不是第四名到达的

其中:1)只有两句话是真的,但不一定是同一个人说的,其余六句话都是假的;
            2)第一名的那个人说了一句真话。(是否只说了一句真话,还是两句都是真话?不得而知)

求:A、B、C、D四个人的到达顺序。

程序代码写好了:https://files.cnblogs.com/lxinxuan/ConsoleApplication1.rar 

程序说明:构造一个由一组已知数字组成的全排列数组;穷举。

修订记录:
[20070831]修改了如果存在多解的问题,当然本题只有唯一解。

欢迎测试!
posted @ 2007-08-29 18:09  Kevin Lin  阅读(1189)  评论(11编辑  收藏  举报