剪邮票如【图1.jpg】, 有12张连在一起的12生肖的邮票。

现在你要从中剪下5张来,要求必须是连着的。
(仅仅连接一个角不算相连)
比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。

请你计算,一共有多少种不同的剪取方法。

分析:i1、i2、i3、i4和i5为枚举要剪下的5个数,对这五个数构成的连通性进行dfs判断,如果dfs后测得从i1出发从上下左右四个方向上深度优先搜索遍历为i2~i5之间的所有点,cnt标记i5能够走到的是i1~i5这些点的个数,如果cnt == 5就说明是连在一起的,注意从4和8向右行走走不到5和9,并且从5和9出发向左行走走不到4和8~所以遇到index == 4或者index == 8并且是向右走的时候continue~(index == 5和9并向左走同理~)将result加一~累加得到的result就是结果116~

#include <iostream>
using namespace std;
int dis[4] = {-1, 1, -4, 4}, visit[13];
int i1, i2, i3, i4, i5, cnt, result = 0;
void dfs(int index) {if (cnt >= 5) return;for (int i = 0; i < 4; i++) {if ((dis[i] == 1 && (index == 4 || index == 8)) || (dis[i] == -1 && (index == 5 || index == 9))) continue;int t = index + dis[i];if (t >= 1 && t <= 12 && visit[t] == 0 && (t == i2 || t == i3 || t == i4 || t == i5)) {visit[t] = 1;cnt++;dfs(t);}}
}
int main() {for (i1 = 1; i1 <= 12 - 4; i1++) {for (i2 = i1 + 1; i2 <= 12 - 3; i2++) {for (i3 = i2 + 1; i3 <= 12 - 2; i3++) {for (i4 = i3 + 1; i4 <= 12 - 1; i4++) {for (i5 = i4 + 1; i5 <= 12; i5++) {memset(visit, 0, sizeof(visit));cnt = 1;dfs(i1);if (cnt == 5) result++;}}}}}cout << result;return 0;
}

第七届 蓝桥杯 省赛 第七题 剪邮票相关推荐

  1. 第七届 蓝桥杯 省赛 第八题 四平方和

    四平方和定理,又称为拉格朗日定理:  每个正整数都可以表示为至多4个正整数的平方和.  如果把0包括进去,就正好可以表示为4个数的平方和. 比如:  5 = 0^2 + 0^2 + 1^2 + 2^2 ...

  2. 第七届 蓝桥杯 省赛 第六题 方格填数(next_permutation)

    填入0~9的数字.要求:连续的两个数字不能相邻. (左右.上下.对角都算相邻) 一共有多少种可能填写的方案? 请填写表示方案数目的整数- 分析:从左到右从上到下标为0-9,将a[10]中的数字依次填入 ...

  3. 2015年第七届蓝桥杯省赛C语言B组

    2015年第七届蓝桥杯省赛C语言B组 题目来源:蓝桥杯 作者:GGG166 第一题: 题目:奖券数目 有些人很迷信数字,比如带"4"的数字,认为和"死"谐音,就 ...

  4. java蓝桥杯凑算是,第七届蓝桥杯JAVA B组真题解析-凑算式(第三题)

    第七届蓝桥杯JAVA B组真题解析-凑算式(第三题) 凑算式 A+B/C+DEF/GHI =10 (如果显示有问题,可以参见[图1.jpg]) 这个算式中AI代表19的数字,不同的字母代表不同的数字. ...

  5. 太空大战-第14届蓝桥杯国赛Scratch真题中级组第6题

    [导读]:超平老师的<Scratch蓝桥杯真题解析100讲>已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第148讲. 太空大战,本题是2023年5月28日上午 ...

  6. 2016第七届蓝桥杯省赛C/C++ B组试题解析整理

    引言 今天是蓝桥杯省赛举办的日子,是一个很激动人心的时刻,也是我第一次参加蓝桥杯,从上午9点到下午1点,做题时间历经4个小时,想想就过瘾. 下面整理一下这次比赛的题目. *注:此处为了省事儿,全是用J ...

  7. 第七届蓝桥杯省赛JavaC组真题——详细答案对照(完整版)

    目录 A.有奖猜谜 B.煤球数目 C.平方怪圈 D.骰子游戏 E.分小组 F.凑算式 G.搭积木 H.冰雹数 I.四平方和 J.密码脱落 A.有奖猜谜 小明很喜欢猜谜语. 最近,他被邀请参加了X星球的 ...

  8. 2016年第七届蓝桥杯 - 省赛 - C/C++大学A组 - B. 生日蜡烛

    生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛. 现在算起来,他一共吹熄了236根蜡烛. 请问,他从多少岁开始过生日party的? 请填写他开始过生日par ...

  9. 2016年第七届蓝桥杯 - 省赛 - C/C++大学A组 - H. 四平方和

    题目 四平方和 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 02 + 02 + 12 + 2 ...

最新文章

  1. CF(439E - Devu and Birthday Celebration)莫比乌斯容斥
  2. hdu 4289(最小割最大流定理)
  3. 转: ashx中使用Session
  4. 2019年第十届蓝桥杯 - 省赛 - C/C++大学B组 - C. 数列求值
  5. 中流科技联手RedHat建立开放SOA解决方案中心
  6. c++ 连接服务器源码,c++ socket最简单实例源码(含服务端以及客户端)
  7. 上课流程法-如何上好第一节课(1) 目录 1. 目录 1 1.1. 销售自己 1 1.2. 销售课程 1 1.3. 学习方法 1 1.4. 制定规章 2 2. 销售自己-自我介绍 2 2.1.
  8. rgb 接口lcd 驱动调试
  9. Java实现 藏宝架的宝物(分组DP,7.27阿里面试题)
  10. C#中break 和 continue 和 return在if语句和for循环中的区别
  11. gojs实现仿启信宝股权结构关系树图
  12. 解决ie11下antd-vue input的clear点击无效
  13. linux7.4修改密码,Centos7.4 修改Root密码
  14. [SWPUCTF 2021 新生赛]caidao
  15. 苏轼《水调歌头·丙辰中秋》
  16. 学习笔记---遥感影像辐射定标与大气校正
  17. myrio与fpga编程_myRIO入门实验指导书
  18. ajax应用培训ppt,ajax培训课件.ppt
  19. AI“淘金”大时代:从移动开发模式看百度DuerOS商业化为什么会成功?
  20. idea打包自定义包名称

热门文章

  1. 使用MemCache进行相关缓存的保存处理
  2. java日期处理简单封装
  3. Android merge 标签学习笔记
  4. topcoder srm 525 div1
  5. centos 6.5 安装rsync
  6. 【NIO】dawn在buffer用法
  7. 不能从const char *转换为LPCWSTR --VS经常碰到
  8. Linux Bash命令关于程序调试详解
  9. linux命令分析---SED (二)
  10. 利用ClustrMaps | GoStats | 51la | Google Analytics统计和分析访问量