色が上書きされることを考慮するのは面倒なので, クエリを先読みして後ろから見ていく. こうすることで色が上書きされることを考えなくてもよくなる.
すべてのマスの色が未定義であるとして計算をスタートする.
クエリが行の場合を考える.
行をすでに塗っているならばこの行は塗れないのでスキップする.
そうでないときは, からすでに塗った列の数を引いた数だけ, の色は増える. 塗った列の数は列を塗る度にインクリメントする.
クエリが列の場合も同様である.
最後に の色の数は から残りの色の数を引いたものとする.