方格分割644--2017蓝桥杯
1.用dfs解决,首先这题的方格图形就很像一个走迷宫的类型,迷宫想到dfs,最中心点视为起点,起点有两个小人在这个方格里面对称行动,直到走出迷宫(一个人走出来了另一个人就也走出来了,而走过的点会被标记,所以一个人不用担心走到另一个人的路线上,因此只用研究一个人走迷宫问题即可)。如示:

2.走迷宫就要考虑坐标问题,dx,dy分别表示横纵坐标的变化量,画图比较好看走上下左右的变化量是什么

3.代码如下
- 很贴dfs模板,dfs里面先if判断“输出”或者结果的答案;for循环在一个位置上可能的四个方向的选择;for内部if判断这个选择行不行,行的话标记已选择,向前走一步即dfs,再次退回到这个位置的时候再把这个选择抹掉。
- 只不过多了坐标的变化,因为都是处于(x,y)位置上,试探性往一个方向走,不管这个方向可不可以,最终我都会退回到这个位置上,再去判断这个位置上的另外三种可能性,所以判断完if,肯定还是要退回来的,if只是一个试探。
- 因为从中心(3,3)开始,所以一开始是dfs(3,3),记得把此点设置已走过再开始dfs.
- 关于对称点的坐标变化,可以看见横纵坐标加起来和都是6,发现这个小规律可以写的不复杂一些。

#include<iostream>
using namespace std;int dx[] = { 0,-1,1,0,0 };
int dy[] = { 0,0,0,-1,1 };
bool vis[10][10];
int cnt = 0;
void dfs(int x, int y)
{if (x == 0 || y == 0 || x == 6 || y == 6) {cnt++;return;}for (int i = 1; i <= 4; i++) {x += dx[i];y += dy[i];if (!vis[x][y]) {vis[x][y] = 1;vis[6 - x][6 - y] = 1;dfs(x, y);vis[6 - x][6 - y] = 0;vis[x][y] = 0;}x -= dx[i];y -= dy[i];}
}
int main() {vis[3][3] = 1;dfs(3, 3);cout << cnt / 4 << endl;return 0;
}
相关文章:
方格分割644--2017蓝桥杯
1.用dfs解决,首先这题的方格图形就很像一个走迷宫的类型,迷宫想到dfs,最中心点视为起点,起点有两个小人在这个方格里面对称行动,直到走出迷宫(一个人走出来了另一个人就也走出来了,而走过的点会…...
接口测试用例设计注意点
API接口测试: 1>根据接口文档,检查接口调用方法post/get,状态码、请求值、返回值 2>对请求参数做容错、边界值、等价类校验 3>功能可用,用户友好 4>密码加密,http明文,https协议密文 5>业务…...
学习linux从0到工程师(命令)-4
基本命令 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作系统信息 arch 显示机器的处理器架构 uname -m 显示机器…...
【树莓派系统配置+python3.8+环境配置踩坑点汇总】raspberrypi
最近又开始搞树莓派的深度学习模型。很多windows端的环境需要在树莓派上重新部署,中间出现了非常多的问题。主要以各种库的下载安装为主要。 首先,第一个问题: 树莓派系统烧录之后,默认apt一般需要升级看,而默认下载…...
CTFHUB--文件包含漏洞--RCE
文件包含漏洞 文件包含漏洞也是一种注入型漏洞,其本质就是输入一段用户能够控制的脚本或者代码,并让服务端执行。有时候由于网站功能需求,会让前端用户选择要包含的文件,而开发人员又没有对要包含的文件进行安全考虑,…...
Android 解决引入的三方库中类名冲突问题
参考: Android开发——如何解决三方库中的类名冲突问题_android 类冲突-CSDN博客 Android 解决 jar/aar 包类名冲突 - 简书 实操步骤 1.提前安装好unzip-5.51-bin,proguard-7.4.0,jarjar-1.4软件 2.解压包名冲突的 AAR 文件 进入到需要修…...
扩展学习|大数据分析的现状和分类
文献来源:[1] Mohamed A , Najafabadi M K , Wah Y B ,et al.The state of the art and taxonomy of big data analytics: view from new big data framework[J].Artificial Intelligence Review: An International Science and Engineering Journal, 2020(2):53. 下…...
java学习笔记-初级
完整笔记下载链接:https://download.csdn.net/download/qq_48257021/88800766?spm1001.2014.3001.5503 一、变量 1.双标签 <!-- 外部js script 双标签 --><script srcmy.js></script> 在新文件my.js里面写: 2.字符串定义ÿ…...
使用axios 封装大文件上传,支持断点续传的功能
使用 Axios 实现断点续传、重试、暂停、开始和上传进度功能 简介 在许多应用程序中,我们经常需要上传大文件。但是,由于网络连接不稳定或其他原因,上传过程可能会中断。为了解决这个问题,我们可以使用断点续传功能。断点续传允许…...
在python中,设置json支持中文字符串
# 省略以上环节 ... # 假设json格式如下 system_info_dict {uptime: uptime.split(".")[0],cpu_usage: cpu_usage,memory_usage: memory_usage,disk_usage: disk_usage,battery_percentage: battery_percentage,battery_status: batteryStatus }# 设置json支持中文字…...
qnx du统计目录大小单位
在qnx上使用du命令统计目录大小时,发现统计数值与实际大小不一样。 比如目录下有个已知1gb大小的问题,但du统计出来的值跟1gb差太多了 # ls -al total 2097169 drwxrwxrwx 2 root root 4096 Jan 01 00:21 . drwxrwxrwx 6 root …...
测试人员如何向开发人员准确清晰地描述问题?
测试人员向开发人员准确清晰地描述问题可以采取以下方法: 提供详细的背景和上下文信息:描述问题发生的环境、前提条件和操作步骤,让开发人员能够了解问题出现的场景。明确问题的症状和表现:清楚地说明问题的具体表现,…...
何恺明新作 l-DAE:解构扩散模型
何恺明新作 l-DAE:解构扩散模型 提出背景扩散模型步骤如何在不影响数据表征能力的同时简化模型?如何进一步推动模型向经典DAE靠拢?如何去除对生成任务设计的DDM中不适用于自监督学习的部分?如何改进DDM以专注于清晰图像表示的学习…...
【数学建模获奖经验】2023第八届数维杯数学建模:华中科技大学本科组创新奖获奖分享
2024年第九届数维杯大学生数学建模挑战赛将于:2024年5月10日08:00-5月13日09:00举行,近期同学们都开始陆续进入了备赛阶段,今天我们就一起来看看上一届优秀的创新奖选手都有什么获奖感言吧~希望能帮到更多热爱数学建模的同学。据说点赞的大佬…...
Kubernetes(k8s第二部分)
资源清单相当于剧本 什么是资源: k8s中所有的内容都抽象为资源,资源实例化后,叫做对象。 1.K8S中的资源 集群资源分类 名称空间级别: kubeadm k8s kube-system kubectl get pod -n default 工作负载型资源,&a…...
mac新环境
1、maven 设置阿里云镜像 打开Maven的settings.xml文件。找到<mirrors>标签,如果没有,可以手动添加。在<mirrors>标签内部添加以下内容: <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorO…...
神经网络基础知识:LeNet的搭建-训练-预测
1.参考视频: 2.1 pytorch官方demo(Lenet)_哔哩哔哩_bilibili 2.总结: (1)LeNet网络就是 我最开始用来预测mnist数据集的那个网络,简单的2个conv2个maxpool3个linear层 (2)up主整理的train.py…...
SpringMVC 学习(七)之报文信息转换器 HttpMessageConverter
目录 1 HttpMessageConverter 介绍 2 RequestBody 注解 3 ResponseBody 注解 4 RequestEntity 5 ResponseEntity 6 RestController 注解 1 HttpMessageConverter 介绍 HttpMessageConverter 报文信息转换器,将请求报文(如JSON、XML、HTML等&#x…...
浅谈密码学
文章目录 每日一句正能量前言什么是密码学对称加密简述加密语法Kerckhoffs原则常用的加密算法现代密码学的原则威胁模型(按强度增加的顺序) 密码学的应用领域后记 每日一句正能量 人生在世,谁也不能做到让任何人都喜欢,所以没必要…...
Android 混淆是啥玩意儿?
什么是混淆 Android混淆,是伴随着Android系统的流行而产生的一种Android APP保护技术,用于保护APP不被破解和逆向分析。简单的说,就是将原本正常的项目文件,对其类、方法、字段,重新命名a,b,c…之类的字母,…...
网络六边形受到攻击
大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
