左右を壁に挟まれた空きマスを考える. そのマスから上下に連続する空きマスの集合を「通路」と呼ぶことにすると,通路上のどこかに灯りを一つは配置しなければならない. 上下を壁に挟まれた空きマスについても同様に,横方向の「通路」のどこかに灯りを一つは配置しなければならない. 問題文の条件 1 と条件 2 から, 全ての空きマスは少なくとも一つの通路に属することが証明できる. 従って,空きマスの部分集合 S について以下が成立する.
S に灯りを配置すると全ての空きマスが明るくなる ⇔ 全ての通路が S に含まれる空きマスを少なくとも一つ含む
問題文の条件 1 から,縦方向の通路は隣接しない.すなわち,(i, j) を通って下方向に通路が伸びているならば,その隣 (i, j+1) を通って下方向に通路が伸びていることはない. このことから,各行について,下方向に伸びている通路の本数は m/2 本以下であることが分かる. よって,左上から順に右下方向へ、現在のマスを通る横方向の通路上に既に灯りを置いたかの 2 通りと,下方向にまだ続いている高々 m/2 本の各通路について灯りを既に置いたか) の 2m/2 通りを状態とした動的計画法により,灯りの配置の総数を求めることが出来る. 全体の計算量は O(2m/2 nm) となり,n と m は 30 以下であることから,十分高速に計算が可能である.