[蓝桥杯2017初赛]方格分割-dfs+思维

在这里插入图片描述

解题思路:
这是大佬的思路:
这道题可能上来会想到搜格子,但搜格子意味着更高的复杂度以及判连通的需要,本题似乎搜索要切开的边更优。由题意,这一条切割线必定经过图的中心点,那么我们一旦确定了半条到达边界的分割线,就能根据这半条对称画出另外半条。而由于结果中心对称性,搜索出来的个数应该除以4得出最终结论。在搜索过程中需要注意的是,我们搜索出的半条分割线不能同时经过关于中心对称的两个点,所以在标记时,需要将对称的点也标上。”
  中心点是(3,3),从(3,3)出发,向右、向左、向上、向下,四个方向DFS即可。
  
思路转载地址:
https://blog.csdn.net/weixin_43914593/article/details/112257103

这个图能让大家更好的理解大佬的思路。
在这里插入图片描述
终止条件:
在这里插入图片描述
我们会发现,当这条线碰到边界的时候,就能构成一种情况,因此终止条件为:

if (x == 0 || y == 0 || x == 6 || y == 6)

在这里插入图片描述

注意:
这两行代码很关键!!!

st[3][3] = true;
cnt / 4 

代码如下:

#include <iostream>
using namespace std;
const int N = 10;
bool st[N][N];
int cnt;int dx[] = {0, 0, 1, -1}, dy[] = {1, -1, 0, 0};void dfs(int x, int y) {if (x == 0 || y == 0 || x == 6 || y == 6) {cnt++;return ;}for (int i = 0; i < 4; i++) {int xx = x + dx[i], yy = y + dy[i];if (!st[xx][yy]) {st[xx][yy] = true;st[6 - xx][6 - yy] = true;//对称点也要标记哦dfs(xx, yy);st[xx][yy] = false;st[6 - xx][6 - yy] = false;}xx = xx - dx[i], yy = yy - dy[i];//可有可无,有更规范}
}int main() {st[3][3] = true;//这一步很关键!!!dfs(3, 3);cout << cnt / 4 << endl;//记得除以4哦!!!return 0;
}

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

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

相关文章

数据结构---Kruskal最小生成树

数据结构—Kruskal最小生成树 原理&#xff1a;参考趣学数据结构 代码&#xff1a; 快速排序&#xff1a; #pragma once #define elemType int typedef struct vER {elemType u;elemType v;int weight; }VER; int quickSort(VER a[], int l, int h) {//快速排序int i l, j…

电脑打字手指正确姿势_写字坐姿不正确的难题,已被家长攻克,果然高手在民间...

全文1000字&#xff0c;预计阅读需7分钟​进入小学&#xff0c;老师会教一年级学生如何坐正&#xff0c;如何正确拿笔&#xff0c;但由于学生人数较多&#xff0c;加之学习课本知识等&#xff0c;老师很难将每一个学生的坐姿都教得很好。什么样的坐姿才是正确的&#xff1f;怎样…

云原生 - Istio可观察性之监控(四)

作者&#xff1a;justmine头条号&#xff1a;大数据与云原生微信公众号&#xff1a;大数据与云原生创作不易&#xff0c;在满足创作共用版权协议的基础上可以转载&#xff0c;但请以超链接形式注明出处。为了方便阅读&#xff0c;微信公众号已按分类排版&#xff0c;后续的文章…

word List 09

word List 09 如果存在什么问题&#xff0c;欢迎批评指正&#xff01;谢谢

[蓝桥杯2016决赛]一步之遥-枚举

题目描述 从昏迷中醒来&#xff0c;小明发现自己被关在X星球的废矿车里。矿车停在平直的废弃的轨道上。 他的面前是两个按钮&#xff0c;分别写着“F”和“B”。 小明突然记起来&#xff0c;这两个按钮可以控制矿车在轨道上前进和后退。按F&#xff0c;会前进97米。按B会后退1…

phpword 模板 多页_高中数学:各题型答题模板,吃透,灵活运用数学公式,解题更快!...

暑假已经接近尾声&#xff0c;部分地区已经开学了。最近有同学留言说&#xff0c;高三了&#xff0c;数学成绩很不好&#xff0c;该怎么办&#xff1f;数学拉分很多。针对高三复习&#xff0c;大家一定要注意题型的积累&#xff0c;每个题型都是有相应的答题模板&#xff0c;积…

使用.NET Core优雅获取并展示最新疫情数据

前言新型冠状病毒的出现&#xff0c;着实让人紧张。我每天一大早都会去查看今天的最新数据&#xff0c;可是每次的数据都挺让人揪心的。今天突然间很想看看过去的历史的数据&#xff0c;结果查了很多资料都不是很全。反正国家让我们待在家里做贡献&#xff0c;那我们也可以多做…

数据结构---排序算法的总结

数据结构—排序算法的总结 分类 冒泡排序&#xff0c;时间复杂度O(n x n)&#xff0c;空间复杂度O(1)&#xff0c;稳定 简单选择排序&#xff0c;时间复杂度O(n x n),空间复杂度O(1)&#xff0c;不稳定 希尔排序&#xff0c;时间复杂度O(n^1.3),空间复杂度O(1)&#xff0c;不…

[蓝桥杯2018决赛]最大乘积-dfs

题目描述 把 1~9 这9个数字分成两组&#xff0c;中间插入乘号&#xff0c; 有的时候&#xff0c;它们的乘积也只包含1~9这9个数字&#xff0c;而且每个数字只出现1次。 比如&#xff1a; 984672 * 351 345619872 98751 * 3462 341875962 9 * 87146325 784316925 … 符合这种…

linux源码_从linux源码看epoll及epoll实战揭秘

从linux源码看epoll前言在linux的高性能网络编程中&#xff0c;绕不开的就是epoll。和select、poll等系统调用相比,epoll在需要监视大量文件描述符并且其中只有少数活跃的时候&#xff0c;表现出无可比拟的优势。epoll能让内核记住所关注的描述符&#xff0c;并在对应的描述符事…

《ASP.NET Core 微服务实战》-- 读书笔记(第9章)

第 9 章 微服务系统的配置微服务系统中的配置需要关注更多其他方面的因素&#xff0c;包括&#xff1a;配置值的安全读写值变更的审计能力配置信息源本身的韧性和可靠性少量的环境变量难以承载大型、复杂的配置信息应用要决定是否支持配置值的在线更新和实时变更&#xff0c;还…

数据结构---简单插入排序

数据结构—简单插入排序 原理&#xff1a;参考趣学数据结构 代码&#xff1a; #include<stdio.h> #include<stdlib.h> void simpleInsertSort(int a[], int length) {//简单插入排序int j;for (int i 2; i < length; i) {//从第二个元素开始比较插入if (a[i]…

[蓝桥杯2018初赛]小朋友崇拜圈

题目描述 班里N个小朋友&#xff0c;每个人都有自己最崇拜的一个小朋友&#xff08;也可以是自己&#xff09;。 在一个游戏中&#xff0c;需要小朋友坐一个圈&#xff0c; 每个小朋友都有自己最崇拜的小朋友在他的右手边。 求满足条件的圈最大多少人&#xff1f; 小朋友编号为…

python做接口自动化如何输出测试报告-python生成接口自动化测试报告模版

自动化测试报告&#xff1a;&test_data被测版本&#xff1a;&version 成功&#xff1a;&pass 失败&#xff1a;&fail 错误&#xff1a;&error 最后时间&#xff1a;&lasttime记录编号: 记录编号: 记录编号: 记录编号: 记录编号: 记录编号: 记录编号: 记…

前端 JS/TS 调用 ASP.NET Core gRPC-Web

前言在上两篇文章中&#xff0c;介绍了ASP.NET Core 中的 gRPC-Web 实现 和 在 Blazor WebAssembly 中使用 gRPC-Web&#xff0c;实现了 Blazor WebAssembly 调用 ASP.NET Core gRPC-Web。虽然 ASP.NET Core 中的 gRPC-Web 实现目前还是试验性项目&#xff0c;但是鉴于它在生态…

数据结构---哈夫曼树

数据结构—哈夫曼树 原理&#xff1a;参考趣学数据结构 代码&#xff1a; #include<stdio.h> #include<stdlib.h> #define N 100 #define INF 2^31-1 typedef struct fNode {//哈夫曼树中每个节点的信息int c;//字符int parent;//父节点&#xff0c;左右孩子&am…

[蓝桥杯]错误票据---stringstream应用举例

题目描述 某涉密单位下发了某种票据&#xff0c;并要在年终全部收回。 每张票据有唯一的ID号。全年所有票据的ID号是连续的&#xff0c;但ID的开始数码是随机选定的。 因为工作人员疏忽&#xff0c;在录入ID号的时候发生了一处错误&#xff0c;造成了某个ID断号&#xff0c;另…

热电偶校验仪_热电偶校验方法_烟台一等热电偶,干湿两用温度校验炉公司

杭州中创为您详细解读hzzc6烟台一等热电偶的相关知识与详情&#xff0c;防爆涡轮流量计的转速通过拆正在机壳外的传感线圈来检测&#xff0e;当涡轮流量计叶片切割由壳体内**磁钢发生的磁力线时&#xff0c;就会引起传感线圈中的磁通变革&#xff0e;传感线圈将检测到的磁通周期…

手把手教你用C#做疫情传播仿真

手把手教你用C#做疫情传播仿真在上篇文章中&#xff0c;我介绍了用 C#做的疫情传播仿真程序的使用和配置&#xff0c;演示了其运行效果&#xff0c;但没有着重讲其中的代码。今天我将抽丝剥茧&#xff0c;手把手分析程序的架构&#xff0c;以及妙趣横生的细节。首先来回顾一下运…

word List 10

word List 10 如果存在什么问题&#xff0c;欢迎批评指正&#xff01;谢谢&#xff01;