No Caffeine, No Life

プログラミング(主にPython)

数学パズル Q24 完璧に打ち抜くストラックアウト: メモ化再帰とビット演算

いわゆる「2抜き」を許した場合のストラックアウト。

テキストにあるような、配列を用いて打ち抜く場合を列挙したやり方だと(しょうもないことに)Pythonでうまく書けなかったので、ここでは、打ち抜く場合のそれぞれをビット列で表現しています。(例:0b000000011 = 1と2を打ち抜く)

ロジックはテキスト通りです:

広告を非表示にする