zoukankan      html  css  js  c++  java
  • 方格分割


    标题:方格分割

    6x6的方格,沿着格子的边线剪开成两部分。
    要求这两部分的形状完全相同。

    如图:p1.png, p2.png, p3.png 就是可行的分割法。

    试计算:
    包括这3种分法在内,一共有多少种不同的分割方法。
    注意:旋转对称的属于同一种分割法。

    请提交该整数,不要填写任何多余的内容或说明文字。

    #include<iostream>
    using namespace std;
    int vis[7][7]={0};
    int cnt=0;
    int m[4][2]={{-1,0},{1,0},{0,-1},{0,1}};
    void dfs(int x,int y)
    {
    	if(x==0||y==0||x==6||y==6)
    	{
    	cnt++;
    	return;	
    	}
    	int i;
    	for(i=0;i<4;i++)
    	{
    		int dx=x+m[i][0];
    		int dy=y+m[i][1];
    		if(vis[dx][dy]!=1)
    		{
    	    vis[6-dx][6-dy]=1;
    		vis[dx][dy]=1;
    		dfs(dx,dy);
    		vis[dx][dy]=0;
    		vis[6-dx][6-dy]=0;	
    		}
    	   
    	}
    }
    int main()
    {
    	vis[3][3]=1;
    	dfs(3,3);
    	cout<<cnt/4<<endl;
    	return 0;
    }
    

      

  • 相关阅读:
    AJAX注册
    文件上传加水印
    邮箱
    AJAX完整操作
    跨窗体操作
    容器布局
    EF异常类
    SQL查出字段横向拼接,如:1,2,3,4
    asp.net三层结构中,SQL助手类DbHelperSQL
    正则抓取页面信息
  • 原文地址:https://www.cnblogs.com/zhangshuyao/p/8660458.html
Copyright © 2011-2022 走看看