标题:方格分割
6x6的方格,沿着格子的边线剪开成两部分。
要求这两部分的形状完全相同。
如图:p1.png, p2.png, p3.png 就是可行的分割法。
试计算:
包括这3种分法在内,一共有多少种不同的分割方法。
注意:旋转对称的属于同一种分割法。
请提交该整数,不要填写任何多余的内容或说明文字。
vis[x][y] 并不是指这个方块是否访问
而是指坐标点 线与线的交点是否被访问过(因为一个个点连起来才成了线 分割线)
所以要vis[n+1][n+1]
从中心点坐标(3,3)向两边dfs一个中心对称的路径,这里搜的是方格的边线而不是方格,因为dfs只能搜索连续的。搜索结束的标志是搜到大方块的边界即:x = 0||x = 6||y = 0||y = 6,因为如果向上下左右的路径形状是一样的的话,就重复了所以搜索结果再除以4即是最终答案。
1 | #include<bits/stdc++.h> |