A traveler passing through the land of liars and knights stops in at a pub, where he meets a group of six friendly locals. Their stories all are funny, but he doesn't know which ones to believe, so he asks them (tactfully) who the liars and knights are in the group. They make one statement each:
Amery: Cuthbert and Fredo are both liars.
Brant: Everard and Fredo are both knights.
Cuthbert: Brant is a liar and Everard is a knight.
Derek: Amery and Brant are both liars.
Everard: Cuthbert and Derek are both knights.
Fredo: Derek is a liar and Amery is a knight.
Which of the men are liars, and which are knights?
Remember: only part of a logical AND statement needs to be false for the entire statement to be false.
If F were a knight then A would also be a knight; but then F would have to be a liar. So F is not a knight, but is a liar.
Therefore either D is a knight or A is a liar. But if D is a knight then it's still true that A is a liar. So A is indeed a liar.
So either C or F must be a knight, and since it isn't F, it must be C that's a knight.
Thus B is a liar and E is a knight, by C's statements.
Since E is a knight both C and D are knights. We already knew about C, but now we know also that D is a knight.
So C, D and E are knights and A, B and F are liars.

Posted by Charlie
on 20030905 14:41:39 