标题:方格分割

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

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

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

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

说明:这道题用到的是深度优先搜索的做法,通过题目可以得知是一种关于中心对称的图形,因此将方格抽象化为的一张图,其中行与列的交点就是(x,y)的坐标然后根据对称思想想象成两个人,朝着相向而行。


/*** 第八届蓝桥杯---第四题方格分割* * @author Administrator**/
public class NO_4 {public static final int N = 6;public static int[][] map = new int[N + 1][N + 1];public static int ans = 0;public static int[][] dir = { { 0, 1 }, { 1, 0 }, { 0, -1 }, { -1, 0 } }; // 控制方向public static void dfs(int x, int y) {if (x == 0 || y == 0 || x == N || y == N) {ans++;return;} else {// 向四个方向深度优先搜索for (int i = 0; i < 4; i++) {int tx = x + dir[i][0];int ty = y + dir[i][1];if (1 == map[tx][ty])continue; // 如果这个点已经遍历过了就直接跳出来map[tx][ty] = 1;map[N - tx][N - ty] = 1;dfs(tx, ty);map[tx][ty] = 0;map[N - tx][N - ty] = 0;}}}public static void main(String[] args) {// 把整个方格当作一张图,其中行与列的交点视作一个点(x,y)map[N / 2][N / 2] = 1;dfs(N / 2, N / 2);
//      由于对称图形算一种因此答案需要/2,其次呢dfs标记的线路是对称的,故答案也要/2,因此结果要/4System.out.println(ans/4);}
}

第八届蓝桥杯-第四题方格分割相关推荐

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

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

  2. 第八届蓝桥杯第八题--包子凑数(C语言)

    第八届蓝桥杯第八题–包子凑数(C语言) 一.比赛题目 1.题目要求 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子.每种蒸笼都有非常多笼,可以认为 ...

  3. 【第八届蓝桥杯第七题日期问题】

    [第八届蓝桥杯第七题日期问题] Description 小明正在整理一批历史文献.这些历史文献中出现了很多日期.小明知道这些日期都在1960年1月1日至2059年12月31日.令小明头疼的是,这些日期 ...

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

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

  5. 25行代码AC_ 2017年C/C++ A组第四题 方格分割(dfs剪痕+解题报告)

    励志用少的代码做高效表达 问题描述: 6x6的方格,沿着格子的边线剪开成两部分. 要求这两部分的形状完全相同.   如图:p1.png, p2.png, p3.png 就是可行的分割法.   试计算: ...

  6. 2017蓝桥杯C++A:方格分割(DFS)

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

  7. 第八届蓝桥杯_第一题_迷宫

    感觉蓝桥杯一年比一年难,今年第一题就做了好久. 标题:迷宫 X星球的一处迷宫游乐场建在某个小山坡上. 它是由10x10相互连通的小房间组成的. 房间的地板上写着一个很大的字母. 我们假设玩家是面朝上坡 ...

  8. 2017蓝桥杯省赛---java---A---4(方格分割)

    题目描述 思路分析 dfs 题目要求沿着格子的边线剪成两个部分,仔细观察,剪开的边线是关于中心点(3,3)对称的,于是我们从(3,3)开始搜索,直到搜到边界则退出.需要注意的是要从(3,3)点开始向两 ...

  9. 第八届蓝桥杯第五题取数位

    题目如下: 求1个整数的第k位数字有很多种方法. 以下的方法就是一种. // 求x用10进制表示时的数位长度 int len(int x){  if(x<10) return 1;  retur ...

最新文章

  1. linux 查看线程数的方法
  2. HRFormer 多分辨率Transformer 参数骤降,性能更强
  3. golang json 读写配置文件
  4. flash cs4 java运行时_加载外部数据时Flash CS4 IDE内部缓存
  5. Docker知识点总结及其命令的使用
  6. maven aspectj_使用Spring AspectJ和Maven进行面向方面的编程
  7. oracle数据表通过使用SYS_GUID()自动生成唯一主键
  8. PopWindow的简单使用
  9. 苹果电脑上不错的svn客户端
  10. 基于OMAP-L138 DSP+ARM处理器与FPGA实现SDR软件无线电系统
  11. 【破解APP抓包限制】Xposed+JustTrustMe关闭SSL证书验证!
  12. 浏览器存储cookie
  13. windows电脑如何设置定时关机?电脑设置定时关机的方法
  14. Ubiquitous Religions(POJ并查集板子题)
  15. Mina中的支付交易snark
  16. 机器学习与游戏,不只让AI玩星际争霸那么简单!
  17. 数据库的主键约束和自增长
  18. Python 里最强的地图绘制神器
  19. 勒索软件对企业的重大威胁分析
  20. A-LOAM/LOAM/Lego-LOAM/SC_Lego_LOAM实时构建3d点云地图与2d栅格地图(octomap)

热门文章

  1. 秒杀项目之网关服务限流熔断降级分布式事务
  2. 4年测试经验,几经波折进了阿里,两个月后我选择了离开...
  3. Win10 系统,LOL游戏中切屏时黑屏时间过长的解决方法
  4. Html添加视频文件作为背景
  5. 三星称霸全球手机市场10年,因它是真自主研发,其他手机都是组装
  6. 苹果手机没插耳机为什么显示耳机模式_手机投屏只投影像不投声音,声音还是从手机播出来...
  7. Linux命令学习(每日一练)
  8. 超声波测距传感器模HG-C40U工作程序图文详解
  9. 嵌入式软件工程师面试题大全
  10. xshell和xftp下载安装以及使用