我们只要对任何一个守卫问:如果我问他(另一个守卫),他会说哪一扇是死门?
此时你问的守卫无论说真话还是说反话,都会指向生门.
先说理论点:
因为正反得反
布尔运算(true&&false)==false
说真话的人传达说假话的人说的话,那一定是假话。
说假话的人传达说真话的人说的话,那一定是假话。
有的人绕不过来的点其实是:
一直在想到底谁说的是真话,谁说的是假话
其实这题根本不需要知道谁说真话,谁说假话
已知A门,B门,A门守卫,B门守卫
A门,B门有一扇是生门,一扇是死门
A门守卫,B门守卫,有一人说真话,另外一人说假话
那么我们只要对任何一个守卫问:如果我问他(另一个守卫),他会说哪一扇是死门?
此时你问的守卫无论说真话还是说反话,都会指向生门.
因为:
如果刚好问的守卫是说真话的,则相当于说真话的守卫原模原样传达了说假话的守卫的答案,也就是指向生门(因为我们问的是哪一个是死门)
如果刚好问的守卫是说假话的,则相当于说假话的守卫会把另一个说真话的守卫的答案反过来骗你,说真话的守卫会指向真正的死门(因为我们问的是哪一个是死门),那么说假话的就反过来指向生门
所以无论你问的守卫是说真话的那个还是说假话的那个,都会指向生门。
因为正反得反
布尔运算(true&&false)==false
说真话的人传达说假话的人说的话,那一定是假话。
说假话的人传达说真话的人说的话,那一定是假话。