AreaLogic解法 -上級-

新しいエリアを作る

エリアの分割

 まず、図1を見てください。
 赤いエリアと青いエリア2つのエリアがあります。赤いエリアは青いエリアにすっぽり入っています。

 図2を見てください。
 黄緑のエリアは青いエリアの赤いエリアと重なっていないエリアです。この黄緑のエリアを新しいエリアにします。このエリアには何箇所塗らなければいけないでしょうか? 青いエリアには全体で3箇所塗らなければいけません。赤いエリアには1箇所塗らなければいけません。ですから、3-1=2となり黄緑のエリアには2箇所塗るということが分かります。

塗る数を絞り込む

 続いて、別の場合を考えます。図3を見てください。
 先ほどは一つのエリアが他のエリアにすっぽり入っていました。しかし今回はそんなエリアはありません。

 では、図4を見てください。まず赤いエリアと青いエリアについて考えてみましょう。
 赤いエリアと青いエリアの重なっている部分の黄緑のエリアには何箇所塗る可能性があるでしょうか?2箇所では青いエリアには少なすぎますし、5箇所では赤いエリアには多すぎます。ですから3箇所か4箇所ということになります。
 次に、赤いエリアについて考えると黄緑のエリアに3箇所か4箇所塗る場合深緑のエリアには何箇所塗る可能性があるでしょうか?赤いエリア全体で4箇所なので深緑のエリアには0箇所か1箇所塗る必要があります。

 さらにこの深緑のエリアに何箇所塗るか絞り込んでいきます。図5を見てください。
 深緑のエリアは紫のエリアにすっぽり入っています。紫のエリアには後3箇所塗る必要があります。深緑のエリアには0箇所か1箇所塗る必要がありますが、もし0箇所塗るつまり塗らなかったらどうなるでしょうか。 紫のエリアには後2箇所しか塗れなくなります。ですから深緑のエリアには1箇所塗る必要があることがわかります。

 このように新しいエリアを作ることができます。エリアを作っただけで塗る場所が分かるわけではありませんが、新しいエリアを使ってまた解くことができます。