6x6的方格,沿着格子的边线剪开成两部分。

要求这两部分的形状完全相同。

试计算:

包括这3种分法在内,一共有多少种不同的分割方法。

注意:旋转对称的属于同一种分割法。

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

解题思路

首先建立一个模型:即从(3,3)开始一刀切,有多少种切法

应用算法:深度遍历/回溯

小技巧:

切痕为1,没切的地方为0.

切过就无法再次切了,即遇到1回溯,遇到0就遍历。

当成蜗牛型环路的时候因为最后四个方向都是1,所以一直回溯到出环路,这个问题无需考虑.

//方格分割
//暴力破解
#include <iostream>
using namespace std;
void dfs(int line,int column);int times=0;
int map[7][7]={0};int main(){dfs(3,3);cout<<times/4<<endl;//因为一开始(3,3)从四个方向出发,从一个方向深搜的结果与其他方向是相同的,只不过角度不同罢了。return 0;
}void dfs(int line,int column){if(map[line][column]==1) return;//深度搜索的时候防止返回原路并且保持图片被一刀切两半map[6-line][6-column]=1;//对称型切法map[line][column]=1;//标记已经切开的路线if(line==0||column==0||column==6||line==6){//当与边界相撞的时候,即是一刀切开成功的时候times++;map[6-line][6-column]=0;map[line][column]=0;//回溯return ;}dfs(line-1,column);dfs(line,column-1);dfs(line+1,column);dfs(line,column+1);//各种情况map[6-line][6-column]=0;map[line][column]=0;//回溯
}

算法学习之路|方格分割相关推荐

  1. 拿下斯坦福和剑桥双offer,00后的算法学习之路

    董文馨,00后,精通英语,西班牙语.斯坦福大学计算机系和剑桥大学双Offer,秋季将进入斯坦福大学学习. 10岁开始在国外上学:12岁学Scratch: 13岁学HTML & CSS: 14岁 ...

  2. 算法学习之路和程序员(技术)学习必读书籍

    原文链接:http://lucida.me/blog/on-learning-algorithms/ 转 算法学习之路和程序员(技术)学习必读书籍 2015年05月26日 09:46:56 阅读数:1 ...

  3. 完全背包问题贪心算法c语言,数据结构与算法学习之路:背包问题的贪心算法和动态规划算法...

    一.背包问题描述: 有N种物品和一个重量为M的背包,第i种物品的重量是w[i],价值是p[i].求解将哪些物品装入背包可使这些物品的费用总和不超过背包重量,且价值总和最大. 二.解决方法: 1.贪心算 ...

  4. 巩朋:我的算法学习之路

    转自:http://blog.jobbole.com/67348/ 巩朋:我的算法学习之路 分享到: 232 MVC架构模式分析与设计 Linux Guide for Developers 网页广告特 ...

  5. 算法竞赛---day5(方格分割)

    虽然最近的事情都不是太顺,但还是得抱着积极的心态来面对啊~ 题目: 6x6的方格,沿着格子的边线剪开成两部分.要求这两部分的形状完全相同.如图:p1.png, p2.png, p3.png 就是可行的 ...

  6. 1.1.10 从二分查找BinarySearch开启算法学习之路---《java算法第四版》

    文章目录 0.前言 1.功能 2.示例 有两个名单tinyW.txt和tinyT.txt,将tinyT.txt名单中不在tinyW.txt的数据打印出来 ① 实现原理 ② 实现代码 ③ 性能分析 0. ...

  7. 算法学习之路|最小生成树——prime算法

    摘要: 算法概述:对于一个带权的连通图,其顶点的集合 为V,边的集合为E.定义一个新的集合Vnew={空},第一步在图中任选一个顶点v加入Vnew,第二步寻找最短的边(u,v),其中u∈Vnew,v∈ ...

  8. 算法学习之路|最小生成树—kruskal

    算法概述:一个带权的连通图, 有V个点,E个边,去掉所有的边,得到一个新图,将E个边按权值从小到大排列,然后从权值最小的边<u,v>开始加入,重复下去,但每次加入之前要判断u,v是否连通, ...

  9. 算法学习之路|打印排名

    上机考试虽然有实时的Ranklist,但上面的排名只是根据完成的题数排序,没有考虑 每题的分值,所以并不是最后的排名.给定录取分线,请你写程序找出最后通过分数线的 考生,并将他们的成绩按降序打印. 输 ...

  10. 算法学习之路2 质数问题

    前言 质数问题也算是入门的问题了,在CSDN竞赛第五期中,前2题也跟质数问题存在关系,看了大佬们的解答,我的解题方式算是暴力的了.只能达到启蒙的作用,要做好还是要多刷题. 概念法 质数又称素数.一个大 ...

最新文章

  1. C++类的案例(一)
  2. EZ430 Chronos 自带程序源码:test 示范程序
  3. 使用Navicat连接MySQL时出现2059报错的解决方法
  4. Java中给循环体起别名
  5. linux mpc boot 串口初始化,uboot移植阶段二--3串口终结篇
  6. c语言disp是什么意思及用法,disp(disp是什么功能)
  7. android获取wifi mac地址吗,Android获取当前WiFi的MAC地址-适配所有版本
  8. 525 Contiguous Array 连续数组
  9. SQLite 不能加密?
  10. 易筋SpringBoot 2.1 | 第三十六篇:Spring Boot RestTemplate超时配置示例
  11. ROC曲线及AUC值
  12. windows虚拟显示器开发(三)USB显示器
  13. QPSK、16QAM、64QAM信号的散点图、正交、同相分量波形图
  14. ricequant股东人数数据获取方式
  15. header元素的使用
  16. 幼儿园早期阅读活动的现状及问题研究
  17. 华为鲲鹏是芯片还是服务器,关于芯片:眼见为实华为鲲鹏架构服务器生态大揭秘...
  18. 写给父亲的语音计算器(语音的加载播放C#,四)
  19. 会声会影2018新功能分屏视频
  20. nyoj 304 节能 【区间dp】

热门文章

  1. configparser ,shelve ,hashlib,random模块
  2. 数据库——“该连接已关闭”问题解决方案
  3. 流行趋势:大背景图片在网页设计的20个精彩应用
  4. 简单的汉字和十六进制转换
  5. [uva11174]村民排队 递推+组合数+线性求逆元
  6. 关于功能图标的绘制方法!
  7. C#高级编程----反射的小结
  8. echarts配合循环计时器等出现的内存泄漏
  9. SetStretchBltMode() 防止图片失真
  10. AjaxControltoolkit学习笔记—ListSearch 使用详解