競技プログラミング用 知識集積所
ABC422B - Looped Rope
最終更新:
sport_programming
-
view
問題
必要知識
A問題レベルのものは省略
考え方
- 白マスである
- 黒マスであるが、周囲の黒マス数が2か4である
を満たしているか確認すればよい。
このとき、一番上のマスでは「上のマスが黒かどうか」が範囲外になってREしてしまう。
そのため、上のマスのチェックには一番上のマスでないかどうか、右のマスのチェックには一番右のマスでないかどうか、などの条件を合わせて書くことが必要。
そのため、上のマスのチェックには一番上のマスでないかどうか、右のマスのチェックには一番右のマスでないかどうか、などの条件を合わせて書くことが必要。
解答例
注意点
別解
- 番兵法※で場外判定を楽にする
周囲を白マスでぐるっと囲んで、(H+2)*(W+2)グリッドにしてしまう手もある。
ただし、囲いの追加のためにはやや高度なstring型の処理が必要だったり、forループの範囲に修正が必要だったり、別方向のややこしさが発生する。
ただし、囲いの追加のためにはやや高度なstring型の処理が必要だったり、forループの範囲に修正が必要だったり、別方向のややこしさが発生する。