The Python solution proposed is really great, in that it captures both the expressive and functional spirit of the language.
The Python solution proposed is really great, in that it captures both the expressive and functional spirit of the language.
You are overestimating how simple it is.There are more than 1200 comments on the solution on the NYTimes[1] almost all of them arguing that other dates are correct.
[1] http://www.nytimes.com/2015/04/15/science/answer-to-the-sing...
The original version of the puzzle (in the Singapore Math Olympiad) presented the dates in a sparse table format. This little bit of symbolic communication makes it much clearer that the answerer is supposed to cross off the dates by a process of deduction, making the puzzle simple to solve.
I am seeing this claim a lot, but I do not understand it. Why would readers assume that a riddle is a bunch of nonsense, rather than something with an objective answer?
> To borrow your Ode To Joy example, it's like trying to learn to play the piece after the sheet music had been torn and tattered, burned and stained with coffee.
I don't see the analogy, because I had no trouble understanding the wording of the puzzle. I thought it was extremely clear and precise. To use your analogy, I feel like I'm looking at a pristine professionally-notated piece of sheet music while everyone else is saying it's torn and tattered.
Different people carry different assumptions with them throughout their lives. Not everybody approaches a logic puzzle with the mental preparation of solving logic puzzles. They aren't looking to analyze the statements and they don't carry the assumption that the statements carry just enough information to solve it. Instead, they might expect some trick or play on words to give a "stupid" answer.
because I had no trouble understanding the wording of the puzzle
But you do have trouble understanding that other people might be different from you; with different experiences, assumptions, etc.
In essence, this is the true test of the puzzle; not whether you can solve the intended puzzle, but whether or not you can muster sufficient social and analytical empathy to work with others when your assumptions turn out to be incongruent with the intended assumptions.
After eliminating May and June because they have unique days, which is obvious, I got stuck trying to figure out how Albert would be able to figure out the date after knowing that Bernard now knows the date. So I got stuck on July 16, Aug. 15 and Aug. 17 for a while, because I could not figure out how Albert would know the date if he was told August as the month. It took me a few minutes (ok, like 5 or so, more then I care to admit to my self I suppose :) ) to figure out that my job wasn't to figure out how Albert new, but rather to figure out what the answer was IF Albert now knew the answer.
From that it's pretty easy, but it's the perspective that trips most people up.
The trick is in figuring out what additional information is actually being added by whatever subsequent statements are being made.
It's weird. I usually have a lot of trouble with mathematical word puzzles. Particularly probability. But logic puzzles almost always seem to be pretty easy for me.
Now if you want a really fucking hard one, try your hand at this: http://en.wikipedia.org/wiki/The_Hardest_Logic_Puzzle_Ever
What, exactly, about vector spaces implies an order of operations?
(For those who don't get the reference, every so often some variant of "a + b * 0 + c = ?" will show up in the public's attention and receive very emotional arguments about how it must be 0, or must be a+c, or must be c, or it must be ambiguous and therefore undefined. Similarly to the logic puzzle programmers can just point to the problem expressed in Python for the correct answer...)
so, no, arguing about the actual problem isn't bikeshedding :)
[1] http://en.wikipedia.org/wiki/Parkinson%27s_law_of_triviality