推理题-赛跑

本题选自《逻辑推理新趣题》第32道题目。

题目

艾伦、巴特、克莱和迪克四人进行一次赛跑,最后分出了高低。但这四个人都是出了名的撒谎者,他们所说的赛跑结果是:

艾伦:

  1. 我刚好在巴特之前到达终点。
  2. 我不是第一名。

巴特:

  1. 我刚好在克莱之前到达终点。
  2. 我不是第二名。

克莱:

  1. 我刚好在迪克之前到达终点。
  2. 我不是第三名。

迪克:

  1. 我刚好在艾伦之前到达终点。
  2. 我不是最后一名。

其中:

  1. 上面这些话中只有两句是真话。
  2. 取得第一名的那个人至少说了一句真话。

这四人中谁是第一名?

解答

本题关键在于将8句话分为两组,分别为1、3、5、7;2、4、6、8,然后分析每组的情况。

设艾伦、巴特、克莱和迪克的名次分别为a,b,c,d。首先分析1、3、5、7。

  1. 我刚好在巴特之前到达终点。(a+1=b)
  2. 我刚好在克莱之前到达终点。(b+1=c)
  3. 我刚好在迪克之前到达终点。(c+1=d)
  4. 我刚好在艾伦之前到达终点。(d+1=a)

这四句中有两句真话:由于组成一个圈,故两句真话有两种情况,相邻两个人说真话,相对两个人说真话。首先相邻两个人说真话,不妨设为艾伦、巴特,则有a+1=b,b+1=c。则d要么在a前面,要么在c后面。若d在a前面,则d+1=a,若d在c后面,则c+1=d,与只有两句真话矛盾。相对两个人说真话,不妨设为艾伦、克莱,则有a+1=b,c+1=d,则要么为abcd,要么为cdab,即要么b+1=c成立,要么d+1=a成立,与只有两句真话矛盾。故不可能有两句真话。

下面分析2、4、6、8。

  1. 我不是第一名。(a1a\not=1)
  2. 我不是第二名。(b2b\not=2)
  3. 我不是第三名。(c3c\not=3)
  4. 我不是最后一名。(d4d\not=4)

由上面分析,1357不可能有两句真话,故2468至少一句真话。
这四句中有一句真话:假设2是真话,则4、6、8均是假话,则a1,b=2,c=3,d=4a\not=1,b=2,c=3,d=4,矛盾。

这四句中有两句真话,则1、3、5、7没有真话。

这四句中2一定是真话,否则2是假话,则a=1a=1,艾伦是第一名,然而艾伦没有说真话,矛盾。

2是真话,则a1a\not=1,说另一句真话的人是第一名。且46不能同时是假话,否则b+1=c。同理68不能同时是假话,否则c+1=d。故只能6是真话。故c=1,b=2,a=3,d=4c=1,b=2,a=3,d=4

综上,第一名是克莱。