ABC219E

题面

link

​ 给一个\(4\times 4\)的01矩阵,若\(A_{i,j}=1\)表示\((i−0.5,j−0.5)\)有一个村庄,你需要修建一条护城河,要求:

  • 没有自我交集
  • 所有村庄都包含在多边形的内部。
  • 每个顶点的x坐标和y坐标都是介于0和4(包括)之间的整数。
  • 每条边都平行于x轴或y轴。
  • 每个内角为90或270度。

​ 求方案数。

题解

​ 感觉是搜索题,但一直不知道怎么搜索,尝试过搜轮廓的路径,但是会有重,最后卡死了。

​ 其实只需要搜索哪个那\(4\times 4\)的矩阵哪些在护城河里面,哪些在外面,最后扫一遍全图判断合不合法就可以。

​ 因为每一中合法的矩阵状态一一对应一种护城河修建方案,所以可以。

启发

  • 状态的设计对思路和写法至关重要。多尝试一些不同的角度看待一个问题,不要把想法固定死了。
posted @ 2022-02-17 17:47  qwq_123  阅读(20)  评论(0编辑  收藏  举报