第八届蓝桥杯-第四题方格分割
标题:方格分割
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);}
}
第八届蓝桥杯-第四题方格分割相关推荐
- 第八届蓝桥杯第四题方格分割
题目如下: 标题:方格分割 6x6的方格,沿着格子的边线剪开成两部分. 要求这两部分的形状完全相同. 如图:p1.png, p2.png, p3.png 就是可行的分割法. 试计算: 包括这3种分法在 ...
- 第八届蓝桥杯第八题--包子凑数(C语言)
第八届蓝桥杯第八题–包子凑数(C语言) 一.比赛题目 1.题目要求 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子.每种蒸笼都有非常多笼,可以认为 ...
- 【第八届蓝桥杯第七题日期问题】
[第八届蓝桥杯第七题日期问题] Description 小明正在整理一批历史文献.这些历史文献中出现了很多日期.小明知道这些日期都在1960年1月1日至2059年12月31日.令小明头疼的是,这些日期 ...
- 蓝桥杯第八届省赛JAVA真题----方格分割
标题:方格分割 6x6的方格,沿着格子的边线剪开成两部分. 要求这两部分的形状完全相同. 如图:p1.png, p2.png, p3.png 就是可行的分割法. 试计算: 包括这3种分法在内,一共有多 ...
- 25行代码AC_ 2017年C/C++ A组第四题 方格分割(dfs剪痕+解题报告)
励志用少的代码做高效表达 问题描述: 6x6的方格,沿着格子的边线剪开成两部分. 要求这两部分的形状完全相同. 如图:p1.png, p2.png, p3.png 就是可行的分割法. 试计算: ...
- 2017蓝桥杯C++A:方格分割(DFS)
四.题目:方格分割 6x6的方格,沿着格子的边线剪开成两部分. 要求这两部分的形状完全相同. 如图:p1.png, p2.png, p3.png 就是可行的分割法. 试计算: 包括这3种分法在内,一共 ...
- 第八届蓝桥杯_第一题_迷宫
感觉蓝桥杯一年比一年难,今年第一题就做了好久. 标题:迷宫 X星球的一处迷宫游乐场建在某个小山坡上. 它是由10x10相互连通的小房间组成的. 房间的地板上写着一个很大的字母. 我们假设玩家是面朝上坡 ...
- 2017蓝桥杯省赛---java---A---4(方格分割)
题目描述 思路分析 dfs 题目要求沿着格子的边线剪成两个部分,仔细观察,剪开的边线是关于中心点(3,3)对称的,于是我们从(3,3)开始搜索,直到搜到边界则退出.需要注意的是要从(3,3)点开始向两 ...
- 第八届蓝桥杯第五题取数位
题目如下: 求1个整数的第k位数字有很多种方法. 以下的方法就是一种. // 求x用10进制表示时的数位长度 int len(int x){ if(x<10) return 1; retur ...
最新文章
- linux 查看线程数的方法
- HRFormer 多分辨率Transformer 参数骤降,性能更强
- golang json 读写配置文件
- flash cs4 java运行时_加载外部数据时Flash CS4 IDE内部缓存
- Docker知识点总结及其命令的使用
- maven aspectj_使用Spring AspectJ和Maven进行面向方面的编程
- oracle数据表通过使用SYS_GUID()自动生成唯一主键
- PopWindow的简单使用
- 苹果电脑上不错的svn客户端
- 基于OMAP-L138 DSP+ARM处理器与FPGA实现SDR软件无线电系统
- 【破解APP抓包限制】Xposed+JustTrustMe关闭SSL证书验证!
- 浏览器存储cookie
- windows电脑如何设置定时关机?电脑设置定时关机的方法
- Ubiquitous Religions(POJ并查集板子题)
- Mina中的支付交易snark
- 机器学习与游戏,不只让AI玩星际争霸那么简单!
- 数据库的主键约束和自增长
- Python 里最强的地图绘制神器
- 勒索软件对企业的重大威胁分析
- A-LOAM/LOAM/Lego-LOAM/SC_Lego_LOAM实时构建3d点云地图与2d栅格地图(octomap)
热门文章
- 秒杀项目之网关服务限流熔断降级分布式事务
- 4年测试经验,几经波折进了阿里,两个月后我选择了离开...
- Win10 系统,LOL游戏中切屏时黑屏时间过长的解决方法
- Html添加视频文件作为背景
- 三星称霸全球手机市场10年,因它是真自主研发,其他手机都是组装
- 苹果手机没插耳机为什么显示耳机模式_手机投屏只投影像不投声音,声音还是从手机播出来...
- Linux命令学习(每日一练)
- 超声波测距传感器模HG-C40U工作程序图文详解
- 嵌入式软件工程师面试题大全
- xshell和xftp下载安装以及使用