蓝桥杯历年真题省赛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>结…

[Django 0-1] Core.Files

Core.Files 模块 Django 的核心模块之一&#xff0c;封装文件操作&#xff0c;提供对文件的上传、下载、删除、查看大小等功能。 提供的功能 存储后端解耦&#xff0c;支持多种存储后端&#xff0c;使得在不同存储后端中的文件数据都能以相同的方式操作文件上传、下载、删除…

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

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

华为认证云计算专家(HCIE-Cloud Computing)--判断题

华为认证云计算专家&#xff08;HCIE-Cloud Computing&#xff09;–判断题 1.(判断题)华为云stack支持鲲鹏架构&#xff0c;业务可从X86过渡到鲲鹏。 正确答案&#xff1a;正确 2.(判断题)业务上云以后&#xff0c;安全方面由云服务商负责&#xff0c;客户自己不需要做任何防…

使用Lua配置NeoVim

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

LLM(大语言模型)——Springboot集成文心一言、讯飞星火、通义千问、智谱清言

目录 引言 代码完整地址 入参 出参 Controller Service Service实现类 模型Service 入参转换类 文心一言实现类 讯飞星火实现类 通义千问实现类 智谱清言实现类 引言 本文将介绍如何使用Java语言&#xff0c;结合Spring Boot框架&#xff0c;集成国内热门大模型API&am…

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…

如何使用IDE端通义灵码

如何使用IDE端通义灵码 第一步&#xff1a;安装IDE插件&#xff08; VS Code 和 JetBrains 二选一&#xff09; 如何下载安装VS Code &#xff1a;https://code.visualstudio.com 如何下载安装JetBrains&#xff1a;https://www.jetbrains.com/idea/download 第二步&#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;具体要看你…

实现两栏布局

1. 利用浮动 将左边元素宽度设为200px&#xff0c;并设置向左浮动将右边元素的margin-left设为200px&#xff0c;宽度为auto&#xff08;默认为auto&#xff0c;撑满整个父元素&#xff09; .outer {height: 100px; } .left {float: left;width: 200px; } .right {margin-lef…

ORM Bee数据源的使用, Bee有自己的数据源吗?

Bee实现了几种简单的数据源&#xff0c;用于开发/测试&#xff1b; 生产上一般都是选用性能比较好的数据源工具&#xff0c;Bee内置实现的&#xff0c;主要是为了方便开发/测试&#xff1b; 1. SimpleDataSource 参考: 参考bee-exam工程&#xff0c;I nitSameDsUtil.DruidDa…

springboot配置文件Tomcat和mvc详细配置

tomcat相关配置参数 (ServerProperties) server.port8080 server.address # bind to a specific NIC server.session-timeout # session timeout in seconds server.context-path # the context path, defaults to ‘/’ server.servlet-path # the servlet path, defaults to…

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启动类注解可以自…

HTML世界之input标签

<input> 元素在 <form> 元素中使用&#xff0c;用来声明允许用户输入数据的 input 控件。 <input> 元素是空的,它只包含标签属性&#xff0c;规定了用户可以在其中输入数据的输入字段。输入字段可通过多种方式改变&#xff0c;取决于 type 属性。 属性 值 …

Postman定义全局变量和环境

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