四、题目:方格分割
6x6的方格,沿着格子的边线剪开成两部分。
要求这两部分的形状完全相同。
如图:p1.png, p2.png, p3.png 就是可行的分割法。
试计算:
包括这3种分法在内,一共有多少种不同的分割方法。
注意:旋转对称的属于同一种分割法.

  • 分析思路:
    仔细观察这个图会发现,它是关于中心点各个方向对称的
    用DFS来就解决


解题的时候以左下方点为原点,用二维数组的方法
代码:

#include<iostream>
using namespace std;int ans;
int dire[][2]={{-1,0},{1,0},{0,-1},{0,1}}; //代表4个方向,上下左右
int vis[7][7];  //哪些点已被访问过
void dfs(int x,int y){if(x==0||y==0||x==6||y==6){ //终止出口条件,当走到边缘的时候,符合题意 ans++;return;}//当前的点标注为已访问的点vis[x][y]=1;//对称的点也标注为已访问的点vis[6-x][6-y]=1;for(int k=0;k<4;k++){int nx=x+dire[k][0]; //横坐标的增量 int ny=y+dire[k][1];  //纵坐标的增量 //新坐标if(nx<0||nx>6||ny<0||ny>6)continue; //越界,不符合 if(!vis[nx][ny]){ //若新的点未被访问过 dfs(nx,ny); //深搜 } }
vis[x][y]=0;
vis[6-x][6-y]=0;  //对称
}
int main(){dfs(3,3);  //初始点 cout<<ans/4<<endl;return 0;
}

答案:509

2017蓝桥杯C++A:方格分割(DFS)相关推荐

  1. 蓝桥杯2015决赛-方格填数-枚举 or dfs

    题目描述 在2行5列的格子中填入1到10的数字. 要求:相邻的格子中的数,右边的大于左边的,下边的大于上边的. 如下图所示的2种,就是合格的填法. 请你计算一共有多少种可能的方案. 输出 请输出该整数 ...

  2. 2017蓝桥杯java B组纸牌三角形

    2017蓝桥杯java B组纸牌三角形 1.标题:纸牌三角形 A,2,3,4,5,6,7,8,9 共9张纸牌排成一个正三角形(A按1计算).要求每个边的和相等. 下图就是一种排法 A 9 6 4 8 ...

  3. [蓝桥杯2016初赛]方格填数-next_permutation

    代码如下: #include <iostream> #include <algorithm> using namespace std;int main() {int a[10] ...

  4. 蓝桥杯T35 危险系数(DFS)

    title: 蓝桥杯T35 危险系数(DFS) date: 2018-11-26 17:30:39 tags: [算法,蓝桥杯,DFS] categories: [算法] Description 抗日 ...

  5. 蓝桥杯c语言试题幸运数,蓝桥杯  历届试题 幸运数  dfs

    时间限制:1.0s   内存限制:256.0MB 问题描述 幸运数是波兰数学家乌拉姆命名的.它采用与生成素数类似的"筛法"生成 . 首先从1开始写出自然数1,2,3,4,5,6,. ...

  6. 蓝桥杯考前的挣扎(DFS)

    明天是18年的蓝桥杯,没怎么好好准备的我今天做了点什么?抓了一把DFS,因为做了15-17年的题感觉DFS是无奈之下最好用的算法吧.(毕竟暴力杯)但是从17年开始难度明显上升,仅仅靠DFS恐怕有点问题 ...

  7. 2017蓝桥杯省赛C++B组真题与题解

    A:购物单 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 小明刚刚找到工作,老板人很好,只是老板夫人很爱购物.老板忙的时候经常让小明帮忙到商场代为购物.小明很厌烦 ...

  8. 2017蓝桥杯等差素数(C++B组)

    题目 :                                            等差素数列 2,3,5,7,11,13,....是素数序列. 类似:7,37,67,97,127,157 ...

  9. [蓝桥杯2017初赛]方格分割-dfs+思维

    解题思路: 这是大佬的思路: 这道题可能上来会想到搜格子,但搜格子意味着更高的复杂度以及判连通的需要,本题似乎搜索要切开的边更优.由题意,这一条切割线必定经过图的中心点,那么我们一旦确定了半条到达边界 ...

最新文章

  1. javax.mail API
  2. 单靠MySQL进了字节,高端玩法才是王道!
  3. Ansible之使用角色一键部署httpd并检查部署结果
  4. C# 中的常用正则表达式总结
  5. 设置Jexus开机启动
  6. tomcat优化-有改protocol 和 缓存 集群方案
  7. 用面向对象解决问题(洛谷P1093题题解,Java语言描述)
  8. Python 列表 list 数组 array
  9. 大数据面试-01-大数据工程师面试题
  10. S01E05-专访琚[jū]致远:聊聊兴趣与成就感如何驱动他参与开源社区
  11. 基于JAVA的KTV交易_Java写的KTV管理系统(Swing界面,含源码)
  12. 临时邮件、临时接收手机验证码等好用工具
  13. 以内部管理员批准模式_UAC 在管理员批准模式下运行所有管理员(Windows 10) - Windows security | Microsoft Docs...
  14. 职称计算机初级考试题,初级职称计算机考试题库
  15. 新手学编程?选python吧!
  16. javascript实现图片轮播_Node.js实现将文字与图片合成技巧
  17. BIOS和EFI启动过程
  18. 腾讯云国际版cvm云服务器如何重装系统-UNIRECH
  19. python爬虫获取携程旅游景点评分和评论
  20. 第三代CAN技术即将到来

热门文章

  1. python入门指南txt-十分钟搞定 C/C++ 项目自动化构建 —— Xmake 入门指南
  2. 1000行代码入门python-Python基础知识和工作环境
  3. 零基础学python-零基础适合学习python吗?
  4. p语言是python吗-Python 这语言真是混乱和原始
  5. python练习题及答案-python装饰器练习题及答案
  6. runtimeerror怎么解决python_如何解决这个python错误? RuntimeError:字典在迭代期间改变了大小...
  7. woocommerce产品选项描述修改_简历修改服务:中文修改、英文修改、中英互译、简历定制,名师一对一指导修改!...
  8. 【王道计组笔记】总线(1):总线的概念和分类
  9. LeetCode 392 判断子序列
  10. 3d怎么把两个面拼接在一起_视频拼接怎么做?如何将多段视频拼接在一起?