一个岛上有两种人:一种人是总说真话的骑士,另一种人是总说假话的骗子.一个岛上有两种人:一种人是总说真话的骑士,另一种人是总说假话的骗子.一天,岛上的2003人举行一次集会,并随机地坐成一圈,他们每人都声明:“我左右的两个邻居是骗子.”第二天,会议继续进行,但是一名居民因病未到会,参加会议的2002人再次随机地坐成一圈,每个人都声明:“我左右的两个邻居都是与我不同类的人.”问有病的居民是骑士还是骗子?请详细写出依据.

问题描述:

一个岛上有两种人:一种人是总说真话的骑士,另一种人是总说假话的骗子.
一个岛上有两种人:一种人是总说真话的骑士,另一种人是总说假话的骗子.一天,岛上的2003人举行一次集会,并随机地坐成一圈,他们每人都声明:“我左右的两个邻居是骗子.”第二天,会议继续进行,但是一名居民因病未到会,参加会议的2002人再次随机地坐成一圈,每个人都声明:“我左右的两个邻居都是与我不同类的人.”问有病的居民是骑士还是骗子?请详细写出依据.

先考虑第2天,对于每个骑士,他的左右一定都是骗子,即□■□,对于他左右边的两个骗子,因为"我左右的两个邻居都是与我不同类的人"是假话,也就是说他们的左右两边至少有一个骗子,所以骑士两边必须是□□■□□,所以每两个骑士之间的距离至少是2,这样骑士最多有[2002/3]下取整=667个.然后考虑第一天,对于每个骑士,2边都是骗子,即□■□,对于每个骗子,他的旁边至少有一个骑士,所以□□■或■□■,而不可能是□□□,也就是说不可能3个骗子相连,所以每两个骑士间距最多是2,这样骑士最少有[2003/3]上取整=668个.结合两个条件,第一天有668个骑士,第二天667个,病的是骑士.