zoukankan      html  css  js  c++  java
  • 2017年 蓝桥杯 方格分割

    问题引入:

    标题:方格分割

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

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

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

         

    #include<stdio.h>
    int book[3][1],book2[7][7]={0};
    int ans=0;
    
    void dfs(int x,int y)
    {
        int i,tx,ty;
        if(x==0||y==0||x==6||y==6)
        {
            ans++;
            return;
        }
        
        int book[4][2]= {
                {1,0},//右走    
                {-1,0},//左走        
                {0,1},//上走 
                {0,-1}//下走                
                    };
                    
        book2[x][y] = 1;
        book2[6-x][6-y] = 1;        
        
        for(i=0;i<4;i++)
        {
            tx = x + book[i][0];
            ty = y + book[i][1];
            
            if(tx<0||tx>6||ty<0||ty>6) continue;
            
            if(book2[tx][ty]==0)
            {    
                dfs(tx,ty);    
            }
        }
        
            book2[x][y] = 0;
            book2[6-x][6-y] = 0;
    }
    
    int main()
    {
        dfs(3,3);
        printf("%d",ans/4);
        return 0;
     } 
    非学无以广才,非志无以成学。 正是因为今天的不完美,才对未来充满希望。 ----长帆
  • 相关阅读:
    du
    date
    echo
    redis的多实例
    redis相关配置
    mariadb的安装与主从复制
    11.Flask-钩子函数
    Python之Linux下的virtualenv&&virtualenvwrapper
    Linux的防火墙概念
    安装ipython解释器
  • 原文地址:https://www.cnblogs.com/changfan/p/10572638.html
Copyright © 2011-2022 走看看