题目:

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

如下就是三种可行的分割法。

核心思想:

画分割线的思想,从方格中心点开始(因为分割线要中心对称,才能使沿分割线剪出来的格子也是中心对称的),向四个方向延伸分割线,延伸到达下一个点后,继续向四个方向延伸分割线线,以此类推,其中向一个方向延伸时,中心对称的另一条线也要延伸,才能达到分割线剪出来的格子中心对称的效果

代码:

package lanqiaobei;public class fanggefenge {static int ans=0;public static void dfs(int x,int y,int[][] visit,int[][] direction) {//深度优先遍历if(x==0||y==0||x==6||y==6) {//走到头了说明分割线画完了,一种情况完成ans+1ans++;return;//到头了,回头,走下一个遍历}visit[x][y]=1;//这个坐标走过了visit[6-x][6-y]=1;//使对称for(int i=0;i<4;i++) {//调整坐标int mx=x+direction[i][0];int my=y+direction[i][1];if(mx<0||mx>6||my<0||my>6) continue;//不符合的情况除掉,不对它进行递归if(visit[mx][my]==0)//这个坐标没走过,则进行深度遍历dfs(mx, my, visit, direction);}//回溯,本次的各个方向的遍历完成后,不能对其他遍历产生影响visit[x][y]=0;visit[6-x][6-y]=0;}public static void main(String[] args) {int[][] direction = {{1,0},{-1,0},{0,1},{0,-1}};//用于依次为向右向左向上向下int[][] visit = new int[7][7];//标志数组,标志这个坐标是否走过for(int i=0;i<7;i++)for(int j=0;j<7;j++)visit[i][j]=0;//一开始都没走过,赋值0dfs(3, 3, visit, direction);//从中心点开始走System.out.println("可能的分割法有:"+ans/4+"种");//别忘了除四,中心对称是不算的}}

蓝桥杯 方格问题 6x6的方格,沿着格子的边线剪开成两部分。 要求这两部分的形状完全相同相关推荐

  1. 洛谷P8707 [蓝桥杯 2020 省 AB1] 走方格 C语言/C++

    [蓝桥杯 2020 省 AB1] 走方格 题目描述 在平面上有一些二维的点阵. 这些点的编号就像二维数组的编号一样,从上到下依次为第 1 1 1 至第 n n n 行,从左到右依次为第 1 1 1 至 ...

  2. 2020蓝桥杯省赛---java---B---8(走方格)

    题目描述 [问题描述]在平面上有一些二维的点阵. 这些点的编号就像二维数组的编号一样,从上到下依次为第 1 至第 n 行,从左到右依次为第 1 至第 m 列,每一个点可以用行号和列号来表示.现在有个人 ...

  3. 蓝桥杯java第五届决赛第三题--格子放鸡蛋

    标题:格子放鸡蛋X星球的母鸡很聪明.它们把蛋直接下在一个 N * N 的格子中,每个格子只能容纳一枚鸡蛋.它们有个习惯,要求:每行,每列,以及每个斜线上都不能有超过2个鸡蛋.如果要满足这些要求,母鸡最 ...

  4. [蓝桥杯][2013年第四届真题]剪格子(dfs)

    题目描述 历届试题 剪格子 时间限制:1.0s 内存限制:256.0MB 问题描述 如下图所示,3 x 3 的格子中填写了一些整数. ±-–±-+ |10 1|52| ±-***–+ |20|30 1 ...

  5. [蓝桥杯][2013年第四届真题]剪格子-dfs

    题目描述 历届试题 剪格子 时间限制:1.0s 内存限制:256.0MB 问题描述 如下图所示,3 x 3 的格子中填写了一些整数. 我们沿着图中的星号线剪开,得到两个部分,每个部分的数字和都是60. ...

  6. 【蓝桥杯官网试题 - 历届试题】格子刷油漆(dp)

    题干: 问题描述 X国的一段古城墙的顶端可以看成 2*N个格子组成的矩形(如下图所示),现需要把这些格子刷上保护漆. 你可以从任意一个格子刷起,刷完一格,可以移动到和它相邻的格子(对角相邻也算数),但 ...

  7. 蓝桥杯精选算法赛题——剪枝——剪格子

    这一节我们回顾一下我们之前学的DFS.BFS. 它们是暴力法的直接实现,能把所有可能的状态都搜出来,然后从中找到解. 不过,暴力法往往比较低效,把时间浪费在很多不必要的计算上.比如BFS 中的&quo ...

  8. 第八届蓝桥杯-第四题方格分割

    标题:方格分割 6x6的方格,沿着格子的边线剪开成两部分.  要求这两部分的形状完全相同. 如图:p1.png, p2.png, p3.png 就是可行的分割法. 试计算:  包括这3种分法在内,一共 ...

  9. 方格分割 蓝桥杯心得

    标题:方格分割 6x6的方格,沿着格子的边线剪开成两部分. 要求这两部分的形状完全相同. 如图:p1.png, p2.png, p3.png 就是可行的分割法. 试计算: 包括这3种分法在内,一共有多 ...

  10. 蓝桥杯第八届省赛JAVA真题----方格分割

    标题:方格分割 6x6的方格,沿着格子的边线剪开成两部分. 要求这两部分的形状完全相同. 如图:p1.png, p2.png, p3.png 就是可行的分割法. 试计算: 包括这3种分法在内,一共有多 ...

最新文章

  1. DL之LeNet-5:LeNet-5算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  2. mysql读写分离_Mysql数据库09MySQL读写分离
  3. 数据库开发——MySQL——函数与流程控制
  4. 适合做手机铃声的81首歌_“想下载这首歌作为你的手机铃声吗?”
  5. linux x64系统android开发环境搭建
  6. html如何隐藏二进制字符串,如何用二进制代码隐藏字符串?
  7. 部分网站为什么上不去_天机SEO:分析网站收录与排名的重要因素
  8. Linux SWAP 深度解读
  9. EMC标准与测试方法
  10. 盘点 常见MQ : 消息队列总览
  11. 医疗人工智能与未来医院信息化建设
  12. 吴伯凡-认知方法论-如何消除认知阑尾
  13. 华为/荣耀 Magicbook/Matebook 开机经常弹出华为智能还原
  14. 湖南软件计算机单招较好学校,长沙岳麓区计算机IT单招学校排行榜
  15. 教你怎么快速读出python numpy中给定的array的shape
  16. 计算机辅助项目管理课程方案,计算机辅助项目管理课程设计-20210310112313.pdf--原创力文档...
  17. ROM修改---修改本机的mac地址
  18. Python飞机大战(究极迫害版)
  19. 【数学建模】多元线性回归(PythonMatlab代码实现)
  20. 成功解决:XXX不在 sudoers 文件中,此事将被报告

热门文章

  1. 实验报告 三密码破解技术
  2. 计算机音乐数字乐谱青芒,弱水三千(戏腔付)
  3. 立即寻址,直接寻址,间接寻址
  4. 滴滴涨价背后:市值缩水40亿美元,高峰期无人接单?
  5. python高级编程书籍推荐_Python书籍推荐
  6. FPGA数字钟项目总结
  7. rar怎么用计算机打开,解答电脑rar文件怎么打开
  8. SSRF学习(5)gopher协议上传文件
  9. Ubuntu 回收站目录
  10. Android客户端如何使用cookie