From reddit
Cannibals ambush a safari in the jungle and capture three men. The cannibals give the men a single chance to escape uneaten. The captives are lined up in order of height, and are tied to stakes. The man in the rear can see the backs of his two friends, the man in the middle can see the back of the man in front, and the man in front cannot see anyone. The cannibals show the men five hats. Three of the hats are black and two of the hats are white. Blindfolds are then placed over each man's eyes and a hat is placed on each man's head. The two hats left over are hidden. The blindfolds are then removed and it is said to the men that if one of them can guess what color hat he is wearing they can all leave unharmed. The man in the rear who can see both of his friends' hats but not his own says, "I don't know". The middle man who can see the hat of the man in front, but not his own says, "I don't know". The front man who cannot see ANYBODY'S hat says "I know!" How did he know the color of his hat and what color was it?
The answer is: The man in front knew he was wearing a black hat because he knew the first man did not see two white hats and he knew that the second man did not see one white hat because if he saw a white hat, the second man would have known that his hat was black from hearing the first man's statement.
However I think it can be simplified and would like to prove my reasoning so you guys can tell me why I'm wrong / right
Man in back: I don't know proves that the hats in front of me cannot be both white, because the only possible way he could know would be if both hats he saw were black, therefore one is black and one is white.
Man in middle Knowing this information, the man in the middle thinks the following things if he sees either scenario:
He sees a black hat on the man in front of him: His should be able to conclude that his hat is white because there is a hat of each color, so if the one in front of him is black, his must be white
He sees a white hat on the man in front of him: He is able to conclude that his hat is black because since there is a hat of each color, if the one in front of him is black his own must be white
In the answer given, it's required to hear the third man before we can know the answer, but why isn't my above solution correct? which solves it in only 2 steps.