我朋友不知道从哪儿找的,看不懂,也不知道是不是对的
事实M:钥匙在盒子甲。
事实N:恶徒说真话。
M,N取值共四个组合
M取值 1,1,0,0 ——————(1代表是,0代表否)
N取值 1,0,1,0
为了得到M的值(我们需要知道钥匙是否在盒子里),需要使得对应恶徒的回答值A等于M的值,
A取值 1,1,0,0
为了得到这个A值,我们应当设计问题Q值,比如N=1,A=1,则需要使得Q=1,即恶徒说真话且回答是的时候,问题应为真。
Q取值 1,0,0,1
最终Q=M*N+非M*非N
问题即:
钥匙在盒子甲且恶徒说真话,或者钥匙不在盒子甲且恶徒说假话。
把这个问题抛给恶徒即可,恶徒回答是则钥匙在盒子甲,否则钥匙在盒子乙。