No.606

色が上書きされることを考慮するのは面倒なので, クエリを先読みして後ろから見ていく. こうすることで色が上書きされることを考えなくてもよくなる.

すべてのマスの色が未定義であるとして計算をスタートする.

クエリが行の場合を考える.

行をすでに塗っているならばこの行は塗れないのでスキップする.

そうでないときは, からすでに塗った列の数を引いた数だけ, の色は増える. 塗った列の数は列を塗る度にインクリメントする.

クエリが列の場合も同様である.

最後に の色の数は から残りの色の数を引いたものとする.