天天看點

(有興趣的朋友進來看看)一道智力程式設計題

題目是:

有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四個人的到達順序。

程式代碼寫好了: http://files.cnblogs.com/lxinxuan/ConsoleApplication1.rar 

程式說明:構造一個由一組已知數字組成的全排列數組;窮舉。

修訂記錄:

[20070831]修改了如果存在多解的問題,當然本題隻有唯一解。

歡迎測試!