标题:方格分割
6x6的方格,沿着格子的边线剪开成两部分。
要求这两部分的形状完全相同。
如图:p1.png, p2.png, p3.png 就是可行的分割法。
试计算:
包括这3种分法在内,一共有多少种不同的分割方法。
注意:旋转对称的属于同一种分割法。
请提交该整数
public class SquareSegmentation {
static int[][]book=new int[7][7];//标记
static int res=0;//计数
static int dirx[]={0,1,-1,0};//上,右,左,下
static int diry[]= {1,0,0,-1};
static void dfs(int x,int y) {
if(x==0||x==6||y==0||y==6) {
res++;
return;
}//到边界+1
for(int i=0;i<4;i++) {//四个方向
int newx=x+dirx[i];
int newy=y+diry[i];
if(book[newx][newy]==0) {
book[newx][newy]=1;
book[6-newx][6-newy]=1;//关于(3,3)中心对称
dfs(newx,newy);//
book[newx][newy]=0;
book[6-newx][6-newy]=0;
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
book[3][3]=1;
dfs(3,3);
System.out.println(res/4);
}
}