蓝桥杯历年真题省赛java b组 2016年 第六届 剪邮票

一、题目

剪邮票

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

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

请填写表示方案数目的整数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

按顺序的图1-3

二、代码


package Lan2016;public class G减邮票 {/*有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。仅仅连接一个角不算相连)粉红色所示部分就是合格的剪取。请你计算,一共有多少种不同的剪取方法这仅仅是部分题目因为没有图*//** 大致思路:我们五层for循环遍历每一个邮票,并找到5个符合条件的* 对于像网格、迷宫之类的问题,我们采用深度优先遍历的思想,将每一个格子遍历,但是不会重复的遍历** *///1.定义数组来存放这些格子,定义一个计数器,用来存最后的减去方法个数,定义用来表示格子数static boolean[] arr = new boolean[13];//定义为boolean类型,表示是被选中,还是不选中,有两种情况//数组的长度为13,因为从1到12 表示12张邮票,下标0没有被使用static int count;static int n;//2.主函数public static void main(String args[]){//五层for循环遍历每一个方格,从1到12for(int x1 = 1; x1 <= 12; x1++){for(int x2 = x1 + 1; x2 <= 12; x2 ++){for(int x3 = x2 + 1; x3 <=12; x3 ++){for(int x4 = x3 + 1; x4 <= 12; x4 ++){for(int x5 =x4+1; x5 <=12;x5 ++){//将所选中的格子赋值为true,表示被选中arr[x1] = arr[x2] =arr[x3]=arr[x4]=arr[x5]=true;n=0;//调用dfs方法,来找这五个格子dfs(x1);//传入i的原因是因为,从树或图的根节点开始向下遍历//如果n=5,表示选好了,计数器加一if(n == 5){count++;}arr[x1] = arr[x2] =arr[x3]=arr[x4]=arr[x5]=false;//看当前的5个各自是否符合条件后,需要将数组都赋值false,便于下一次的遍历}}}}}System.out.println(count);//输出计数器}//定义dfs函数static void dfs(int m){//要写参数//因为循环的时候我们把数组中的某些的元素已经赋值为true//对于找到的目前的格子,我们赋值为falsearr[m] = false;n++;//找到一个格子,将格子数加一//判断当前节点的左边一个节点是否被访问过,如果没有被访问,则去访问if(m != 1 && m != 5 && m != 9 && arr[m-1])dfs(m-1);//访问当前节点的右边一个节点是否被访问,如果没访问,则去访问if(m != 4 && m!= 8 && m != 12 && arr[m+1])dfs(m+1);//访问当前节点的上一个节点是否被访问,如果没访问,则去访问if(m != 1 && m != 2 && m != 3 && m != 4 && arr[m-4])dfs(m-4);//访问当前节点的上一个节点,如果没有被访问,则去访问if(m != 9 && m != 10 && m != 11 && m != 12 && arr[m + 4])dfs(m+4);}}

三、反思

        1.for循环用来找到五个不同的格子,并赋值true,每次找之前都要将n(找到的不相邻的方格数)都要赋值为0,便于我们重新找的时候,给n++,n=5的时候说明已经找到,

        2.dfs是为了找到这不相邻的五个格子,从当前的格子往 上下左右去找相邻的格子,当是ture的时候,表明这是我们for循环里选过的,我们赋值false,并n++,再从相邻的格子递归找下去,若找到的正是我们选过的,那么n就等于5,我们count++

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/745209.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习 Python库 乱记录

MLFlow—模型实验和跟踪 MLflow是一个平台&#xff0c;帮助你从头到尾管理你的机器学习实验&#xff0c;确保可追溯性和可重复性。它提供了一个集中的存储库&#xff0c;用于存储你的代码、数据和模型工件&#xff0c;以及一个跟踪系统&#xff0c;记录你所有的实验&#xff0c…

CSS 03

1.选择器 1.1 结构伪类选择器 代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>结…

[云原生] Prometheus自动服务发现部署

一、部署服务发现 1.1 基于文件的服务发现 基于文件的服务发现是仅仅略优于静态配置的服务发现方式&#xff0c;它不依赖于任何平台或第三方服务&#xff0c;因而也是最为简单和通用的实现方式。 Prometheus Server 会定期从文件中加载 Target 信息&#xff0c;文件可使用 YAM…

使用Lua配置NeoVim

使用Lua配置NeoVim 源码地址依次添加插件视频地址 源码地址 Github: my-neovim-lua 依次添加插件 Lazy.nvim: nvim的插件管理器catpuccin: 舒缓柔和的主题插件telescope: 负责查找、过滤、预览treesitter: 基于语法树实现语法高亮neo-tree: 文件导航栏 。。。等待解锁更多 …

Zabbix 监控 tomcat

zabbix-java-gateway服务组件 zabbix监控tomcat需要用到zabbix-java-gateway组件&#xff0c;它充当zabbix服务和java应用程序之间的网关。它允许zabbix服务器用过java网关与java应用程序进行通信&#xff0c;从而监控和收集java应用程序的性能数据。 zabbix-agent服务&#xf…

数据仓库原理(二)

目录 四、数据仓库的概念模型&#xff08;一&#xff09;多维数据模型&#xff08;二&#xff09;维度与粒度 五、数据仓库的逻辑模型&#xff08;一&#xff09;多维模型&#xff08;二&#xff09;星形模型&#xff08;三&#xff09;雪花模型 六、数据仓库的物理模型&#x…

CVPR2023 | 3D Data Augmentation for Driving Scenes on Camera

3D Data Augmentation for Driving Scenes on Camera 摄像机驾驶场景的 3D 数据增强 摘要翻译 驾驶场景极其多样和复杂&#xff0c;仅靠人力不可能收集到所有情况。虽然数据扩增是丰富训练数据的有效技术&#xff0c;但自动驾驶应用中现有的摄像头数据扩增方法仅限于二维图像…

Flutter 多语言自动化本地化生成器

Flutter 多语言自动化本地化生成器 这是一个为Flutter设计的插件&#xff0c;通过从Excel表格提取的CSV文件自动生成Dart本地化文件&#xff0c;以简化应用程序本地化的流程。这个工具通过自动化创建多语言资源文件&#xff0c;简化了开发人员和翻译人员的工作流程。 特点 默…

国外visa卡怎么办理,可充ChatGPTPLUS、Claude、Midjourney

很多小伙都在使用ChatGPT&#xff0c;但是想充值ChatGPTPLUS缺需要国外的visa卡&#xff0c;拿自己的银联卡&#xff0c;尝试了好多次还是不行&#xff0c;其实用一张国外的visa卡几分钟就可以升级好 办理国外visa卡&#xff0c;点击获取 国外的visa卡&#xff0c;具体要看你…

ArcGIS全系列实战视频教程——9个单一课程组合+系列直播回放

《ArcGIS全系列实战视频教程》是由9个单一课程组合合成。组成一条ArcGIS入门实战各项专题深入应用学习全链条&#xff0c;让你学有方向、学有目的&#xff0c;系统全面掌握ArcGIS。 ArcGIS全系列实战视频教程——9个单一课程组合https://edu.csdn.net/combo/detail/2569 《Ar…

SpringBoot之Bean扫描、Bean注册

目录 Bean扫描 Bean注册 Bean lmport 自定义注解 注册条件 Bean扫描 Bean扫描有两种方式 1、标签:<context:component-scan base-package"com.mybatis"/> 2、注解: ComponentScan(basePackages "com.mybatis") springboot启动类注解可以自…

Postman定义全局变量和环境

Postman定义全局变量和环境 一. 问题二. 配置环境解决 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接下来还会持续更新。 作者&#xff1a;神的孩子都在歌唱 一. 问题 问题前因&#xff1a;在使用postman调用elasticsearch接口的时候&…

目标检测——YOLOv3算法解读

论文&#xff1a;YOLOv3&#xff1a;An Incremental Improvement 作者&#xff1a;Joseph Redmon, Ali Farhadi 链接&#xff1a;https://arxiv.org/abs/1804.02767 代码&#xff1a;http://pjreddie.com/yolo/ YOLO系列其他文章&#xff1a; YOLOv1通俗易懂版解读SSD算法解读…

rust学习(简单链表)

编写一个简单链表&#xff0c;主要遇到的问题就是next指针&#xff08;按照C的写法&#xff09;的数据如何定义。按照网上的建议&#xff0c;一般定义如下&#xff1a; struct Node {pub value:u32,pub next:Option<Rc<RefCell<Node>>>, //1 }1.用Option主要…

pearlCTF——少部分WP

题型新颖&#xff0c;见识了不少 目录 b4by_jailExcel MayhemRick Roll3 spiesjail_timeWiFi brokenSoundScape b4by_jail 一道沙箱逃逸的题 源代码 #!/usr/local/bin/python import time flag"pearl{f4k3_fl4g}" blacklistlist("abcdefghijklmnopqrstuvwxyz…

【计算机图形学】End-to-End Affordance Learning for Robotic Manipulation

对RLAfford&#xff1a;End-to-End Affordance Learning for Robotic Manipulation的简单理解 1. 为什么要做这件事 在交互环境中学习如何操纵3D物体是RL中的挑战性问题。很难去训练出一个能够泛化到具有不同语义类别、不同几何形状和不同功能物体上的策略。 Visual Afforda…

Jmeter(七) - 从入门到精通 - 建立数据库测试计划实战<MySQL数据库>(详解教程)

1.简介 在实际工作中&#xff0c;我们经常会听到数据库的性能和稳定性等等&#xff0c;这些有时候也需要测试工程师去评估和测试&#xff0c;上一篇文章主要介绍了jmeter连接和创建数据库测试计划的过程,在文中通过示例和代码非常详细地介绍给大家&#xff0c;希望对各位小伙伴…

在 Java 中,如何使用文件保存包含文字和数字的 Swing 表格?

要在Java中使用文件保存包含文字和数字的Swing表格&#xff0c;您可以按照以下步骤进行&#xff1a; 1. 首先&#xff0c;您需要创建一个Swing表格&#xff0c;并向其中添加包含文字和数字的数据。 2. 接下来&#xff0c;您可以使用Java中的文件操作类&#xff08;如FileWrit…

<Senior High School Math>: inequality question

( 1 ) . o m i t (1). omit (1).omit ( 2 ) . ( a 2 − b 2 ) ( x 2 a 2 − y 2 b 2 ) ( x 2 y 2 ) − ( a 2 y 2 b 2 b 2 x 2 a 2 ) ≤ x 2 y 2 − 2 x y ( x − y ) 2 (2). (a^2-b^2)(\frac{x^2}{a^2} - \frac{y^2}{b^2})(x^2y^2)-(\frac{a^2y^2}{b^2}\frac{b^2x^2}{a^…

设置jmeter默认语言为中文

问题描述 通过面板上面的选项修改语言&#xff08;如下图&#xff09;&#xff0c;每次运行程序都需要重新再设置一遍&#xff0c;我需要每次打开都是中文界面 解决方案 进入jmeter的文件目录 bin——> jmeter.properties 打开这个文件 搜索Preferred GUI language在下方添…