プログラマのための論理パズル
読んだ。2ヶ月かかってしまった。*1
ウォームアップ問題、その解答と解説があって、その応用ともいえる問題が記されている。で、ウォームアップ問題ですら、自力では解けるとは思えないほど難しい。むひょー。難しい。全然解けない。遅々として進まず。
解けないので、問題を読んで、ちょっと考えて、あきらめて、解答を読む。解答を読んで、問題の意味を理解するということもしばしばだった。問題を理解すらしていなかったということを再確認したりして、またむひょーとなる。
全然解けないのであるが、それでも徐々に慣れてきているような感覚を覚えた。
例えば、12ページのウォームアップ問題だ。
AliceはBobよりも所持金が多い。コイントスで出たコインが表か裏かで勝負を決める。Bobが先に裏か表にかけるか、そして掛け金を提示しなければいけない。残りゲーム回数はあと5回。Aliceはどのようにして勝率をあげることができるか。
(賭けが終わった時点で掛け金が多い方が優勝者になる)
考えてほしい。答えはもちろん本書にある。
久しぶりに頭を使ったような気がした。再読をしてみようと思った。何度も読めばちょっとはパズル脳になるかな、ならないかな。
誤植: p83 誤:X->Y 正:X→Y p125 問題3 誤:3600 正:2600 p151 誤:{Z, Y, Z, W} 正:{X, Y, Z, W}
*1:4月にあすなろBLOG3周年記念イベントというのがあって、その懇親会でたまたまお目にかかった本書の関係者である大成さんに勧められたのがきっかけである。帰りに早速丸の内の丸善で購入したのだけど、遅々として進まなかった。