変更手数について

問題の変更量を定義するために変更手数というものを考えているところであり、上でその言葉を使ってしまったので、今考えている定義を書いておきます。


変更手数1手とは以下の動作のいずれか1つの工程とする。

  • 部屋に入る黒マスの数の指定(以下、数字)の追加変更削除
    • 数字の追加:数字のない部屋に数字を入れる
    • 数字の変更:数字のある部屋の数字を変更する
    • 数字の削除:数字のある部屋から数字をなくす
  • 部屋の分け方の変更
    • 部屋の結合:隣接しており境界線をはずすと長方形になる2つの部屋の結合する。結合する部屋の数字は結合する2つの部屋の数字の和となる。1つの部屋にのみ数字が入っている場合、結合した部屋の数字はその数字となる。どちらの部屋にも数字がない場合、結合した部屋も数字がないものとなる。
    • 部屋の分割:2マス以上あるへやの縦もしくは横に境界線を追加し、2つの部屋に分割する。分割する部屋の数字がない場合、分割した部屋はどちらも数字が入らないものとなる。数字がある場合、分割した部屋の数値の和がもとの部屋の数値と等しくなる。もしくは1つの部屋にもとの部屋の数が入り、もうひとつの部屋は数字のないものとなる。
    • 境界線の移動:隣接しており境界線をはずすと長方形になる2つの部屋の境界線の移動。移動する際に部屋の数字の変更追加削除は発生しない。


ちょっとわかりにくいけどこんな感じ。部屋の分割時にできることが多いように見えるけど、部屋の分割と結合は可逆にしたかったのでこうなりました。
境界線の移動は部屋の結合と分割で実現可能なので、入れるべきかどうか迷いましたが、意識的な1手の変更とのずれは少なくしたかったので追加しました。


上の問題の変更は部屋の分割で変更手数1手。
4/24の問題の修正の場合は境界線の移動、数字の追加で変更手数2手。