蓝桥旧题_剪邮票问题
问题:剪邮票
有12张连在一起的12生肖的邮票,现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连)
请你计算,一共有多少种不同的剪取方法。
请填写表示方案数目的整数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
这里把一些图片省略了,题目原型可以直接搜索找到;
正确答案是:116
以下是一个错误的例子,因为想法不周全导致刚开始解题的方向出错,该部分内容只是做一个记录方便日后查看;
刚开始解题直接想的用暴力算法可以解出,最后发现条件太多实在考虑不周全。(格子束缚是最大的一个无法精确判断所有情况的原因)
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {int i,j,k,l,m;int sum=0; for(i=1;i<=12;i++){for(j=1;j<=12;j++){for(k=1;k<=12;k++){for(l=1;l<=12;l++){for(m=0;m<=12;m++){if((i<j)&&(j<k)&&(k<l)&&(l<m)){if (((i==j-1)||(i==j-4)||(i==k-4)||(i==l-4)||(i==m-4)) //这里存在一个问题就是数字存储在三行四列的方格, &&((j==i+1)||(j==i+4)||(j==k-1)||(j==k-4)||(j==l-4)||(j==m-4))//但是我的结果存在五个数字连续的情况; &&((k==i+4)||(k==j+1)||(k==j+4)||(k==l-1)||(k==l-4)||(k==m-4))&&((l==i+4)||(l==j+4)||(l==k+4)||(l==k+1)||(l==m-4)||(l==m-1))&&((m==i+4)||(m==j+4)||(m==k+4)||(m==l+1)||(m==l+4)) ){ printf("%d %d %d %d %d\n",i,j,k,l,m);sum++;}}}}}}}printf("%d",sum); return 0;
}
292种结果是错误的;
最后分析了一下错误:这是三行四列的方格,如果不用数组,条件里边必须说明当两个数相邻时,大的数取余0不能等于1,也就是大的数不能在下一行,这样就确保换行,但是又有问题出现了,相邻的数可以在下一行第一位,可以通过其余的数对这两个数进行相连,这样问题就越想越复杂,有很多情况无法考虑周全,所以这个题直接用这样的暴力算法求解是不明智的。
蓝桥旧题_剪邮票问题相关推荐
- (蓝桥真题)剪格子(搜索+剪枝)
样例1输入: 3 3 10 1 52 20 30 1 1 2 3 样例1输出: 3 样例2输入: 4 3 1 1 1 1 1 30 80 2 1 1 1 100 样例2输出: 10 分析:这道题目我们 ...
- [蓝桥杯2016初赛]剪邮票-dfs+next_permutation(好题)
题目描述 如下图, 有12张连在一起的12生肖的邮票.现在你要从中剪下5张来,要求必须是连着的.(仅仅连接一个角不算相连) 比如,下面两张图中,粉红色所示部分就是合格的剪取. 请你计算,一共有多少种不 ...
- java dfs算法蓝桥杯题_【蓝桥杯省赛JavaB组真题详解】四平方和(2016)_疼疼蛇的博客-CSDN博客...
原文作者:疼疼蛇 原文标题:[蓝桥杯省赛JavaB组真题详解]四平方和(2016) 发布时间:2021-02-26 15:00:01 题目描述 四平方和 四平方和定理,又称为拉格朗日定理: 每个正整数 ...
- 蓝桥杯第七届省赛JAVA真题----剪邮票
剪邮票 如[图1.jpg], 有12张连在一起的12生肖的邮票. 现在你要从中剪下5张来,要求必须是连着的. (仅仅连接一个角不算相连) 比如,[图2.jpg],[图3.jpg]中,粉红色所示部分就是 ...
- 征战蓝桥 —— 2016年第七届 —— C/C++A组第7题——剪邮票
剪邮票 如[图1.jpg], 有12张连在一起的12生肖的邮票. 现在你要从中剪下5张来,要求必须是连着的. (仅仅连接一个角不算相连) 比如,[图2.jpg],[图3.jpg]中,粉红色所示部分就是 ...
- 第七届 蓝桥杯 省赛 第七题 剪邮票
剪邮票如[图1.jpg], 有12张连在一起的12生肖的邮票. 现在你要从中剪下5张来,要求必须是连着的. (仅仅连接一个角不算相连) 比如,[图2.jpg],[图3.jpg]中,粉红色所示部分就是合 ...
- 第七届蓝桥杯-剪邮票(深搜+广搜)
剪邮票 如下图, 有12张连在一起的12生肖的邮票. 现在你要从中剪下5张来,要求必须是连着的. (仅仅连接一个角不算相连)比如,下面两个图中,粉红色所示部分就是合格的剪取. 请你计算,一共有多少种不 ...
- 2016蓝桥杯省赛---java---B---7(剪邮票)
题目描述 剪邮票 思路分析 全排列+深度优先搜索+连通检查 代码实现 package com.atguigu.TEST;class Main{static int a[] = { 0, 0, 0, 0 ...
- 2016蓝桥杯C++A:剪邮票(抓取法)
七.题目:剪邮票 如[图1.jpg], 有12张连在一起的12生肖的邮票. 现在你要从中剪下5张来,要求必须是连着的. (仅仅连接一个角不算相连) 比如,[图2.jpg],[图3.jpg]中,粉红色所 ...
最新文章
- notepad宏的使用,定制各种操作,比如删除一整行、从当前位置到行末用某字符替换
- Java 9 - 17 特性解读:Java 10
- 一种javascript链式多重继承的方式(__proto__原型链)
- 安装SQL2012 提示 setup account privileges Failed 解决办法
- 青蛙学Linux—MySQL备份工具XtraBackup
- Android USB转串口编程
- 用eclipse配置spket编写extjs代码方法
- Oracle数据库配置方案,oracle数据库各项参数参考配置方案
- 图标选择器_【小技巧】巧用CSS属性值正则匹配选择器
- 函数----MoveWindow
- 腾讯云再登 KVM 开源贡献榜,Linux 虚拟化技术将走向何方?
- jQuery easing动画效果扩展
- C#调用python深度学习项目排坑
- 服务器定时关机 修改时间,服务器调定时关机
- rocketmq模块架构图
- Tomcat8下载及安装配置教程(官网)
- 基于Booth算法的64位浮点乘法器的实现
- python 序列去重并保持原始顺序
- qt打开xls文件_Qt读取excel文件的两种方法
- 关于拉格朗日中值定理在高考中使用严谨性的问题