2019年第十届蓝桥杯国赛B组试题E-路径计数-dfs(坑题)

【问题描述】
从一个 5 x 5 的方格矩阵的左上角出发,沿着方格的边走,满足以下条件的路线有多少种?

总长度不超过 12;
最后回到左上角;
路线不自交;
不走出 5 x 5 的方格矩阵范围之外。

如下图所示,ABC 是三种合法的路线。注意 B 和 C 由于方向不同,所以视为不同的路线。

在这里插入图片描述

答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。
本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

下面的代码为什么错呢???

#include <iostream>
using namespace std;int dx[] = {0, 0, 1, -1}, dy[] = {1, -1, 0, 0};
const int N = 7;
bool vis[N][N];
int ans;void dfs(int x, int y, int u) {if (u > 12)return ;if (x == 0 && y == 0 && u != 0) {ans++;return ;}for (int i = 0; i < 4; i++) {int xx = x + dx[i], yy = y + dy[i];if (xx < 0 || xx > 5 || yy < 0 || yy > 5 || vis[xx][yy])continue;vis[xx][yy] = true;dfs(xx, yy, u + 1);vis[xx][yy] = false;}
}int main() {dfs(0, 0, 0);cout << ans << endl;return 0;
}

因为条件:

u != 0

这个条件有种情况没考虑到,这也是这题的坑点,当在起点的时候,起点我们是没有标记的,然后标记下面那一点,然后往下走,然后会发现上面那一点,也就是起点,没有标记,然后就可以走,导致其实这种情况路线自交了,因为起点在左上角,所以可以往下和往右,所以算出来结果会多2种情况,我们要把条件改成:

u > 2

代码如下:

#include <iostream>
using namespace std;int dx[] = {0, 0, 1, -1}, dy[] = {1, -1, 0, 0};
const int N = 7;
bool vis[N][N];
int ans;void dfs(int x, int y, int u) {if (u > 12)return ;if (x == 0 && y == 0 && u > 2) {ans++;return ;}for (int i = 0; i < 4; i++) {int xx = x + dx[i], yy = y + dy[i];if (xx < 0 || xx > 5 || yy < 0 || yy > 5 || vis[xx][yy])continue;vis[xx][yy] = true;dfs(xx, yy, u + 1);vis[xx][yy] = false;}
}int main() {dfs(0, 0, 0);cout << ans << endl;return 0;
}

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

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

相关文章

python中开关_pyq中的开关按钮

可以用pyqt5创建一个开关按钮吗&#xff1f;在我正在用pyqt5在python中设计一个过滤工具。用户甚至可以对其数据进行过滤或合并。在我在qtablewidget中显示可能的过滤器&#xff0c;用户可以使用复选框选择要应用的过滤器。在每一行中&#xff0c;复选框都是独占的&#xff0c;…

2019年第十届蓝桥杯国赛B组试题G-排列数-next_permutation枚举,模拟

在一个排列中&#xff0c;一个折点是指排列中的一个元素&#xff0c;它同时小于两边的元素&#xff0c;或者同时大于两边的元素。 对于一个 1∼n 的排列&#xff0c;如果可以将这个排列中包含 t个折点&#xff0c;则它称为一个 t1 单调序列。 例如&#xff0c;排列 (1,4,2,3)…

.NET Core开发实战(第22课:异常处理中间件:区分真异常与逻辑异常)--学习笔记(下)...

接下来介绍使用代理方法的方式&#xff0c;也就是说把 ErrorController 整段逻辑直接定义在注册的地方&#xff0c;使用一个匿名委托来处理&#xff0c;这里的逻辑与之前的逻辑是相同的app.UseExceptionHandler(errApp > {errApp.Run(async context >{// 在 Features 里面…

2019年第十届蓝桥杯国赛B组试题A-平方序列-枚举

【问题描述】 小明想找到两个正整数 X 和 Y&#xff0c;满足 2019 < X < Y;2019^2 , X^2 , Y^2 组成等差数列。请你求出在所有可能的解中&#xff0c;X Y 的最小值是多少&#xff1f; 答案提交 这是一道结果填空的题&#xff0c;你只需要算出结果后提交即可。 本题的结…

lcd刷新慢_LCD1602刷新率很慢的问题

#include"lcd.h"/******************************************************************************** 函 数 名 : Lcd1602_Delay1ms* 函数功能 : 延时函数&#xff0c;延时1ms********************************************************…

【朝夕技术专刊】Core3.1WebApi_Filter-Authorize详解

欢迎大家阅读《朝夕Net社区技术专刊》第6期我们致力于.NetCore的推广和落地&#xff0c;为更好的帮助大家学习&#xff0c;方便分享干货&#xff0c;特创此刊&#xff01;很高兴你能成为忠实读者&#xff0c;文末福利不要错过哦&#xff01;前言&#xff1a;本部分文档将详细给…

2019年第十届蓝桥杯国赛B组试题D-求值-枚举

【问题描述】 学习了约数后&#xff0c;小明对于约数很好奇&#xff0c;他发现&#xff0c;给定一个正整数 t&#xff0c;总是可以找到含有 t 个约数的整数。 小明对于含有 t 个约数的最小数非常感兴趣&#xff0c;并把它定义为 St 。 例如 S1 1, S2 2, S3 4, S4 6&#…

pythonimport是拷贝_02Python学习笔记之二.一【import、==和is、深浅拷贝】2019-08-17

章节号内容1图片格式(png)宽度大于620px,保持高宽第1章节  import模块1-1 import模块—sys.path↓import导入模块的搜索路径&#xff1a;In [1]: import sysIn [2]: sys.pathOut[2]:#第一个为当前路径[,/usr/lib/python36.zip,/usr/lib/python3.6,/usr/lib/python3.6/lib-dyn…

以正确的方式下载和配置 ASP.NET Core 官方源码

我们可以在Github上面直接查看ASP.NETCore 3.x的源代码&#xff0c;但是我们也可以把源代码下载下来进行查看。而下载源代码进行查看有很多好处&#xff1a;任意的导航源代码内置了一个示例项目直接调试源代码下载源代码想下载并配置好源码&#xff0c;你需要&#xff1a;最新版…

2017年第八届蓝桥杯国赛B组试题A-36进制-进制转换

【问题描述】 对于16进制&#xff0c;我们使用字母A-F来表示10及以上的数字。 如法炮制&#xff0c;一直用到字母Z&#xff0c;就可以表示36进制。 36进制中&#xff0c;A表示10&#xff0c;Z表示35&#xff0c;AA表示370 你能算出 MANY 表示的数字用10进制表示是多少吗?【答…

h5应用 vue 钉钉_uniapp开发一个小视频应用(一)

“uni-app 是一个使用 Vue.js 开发所有前端应用的框架&#xff0c;是一种终极的跨平台解决方案&#xff0c;这里的平台&#xff0c;主要指的是App平台(android、ios)、小程序平台、H5平台。开发者编写一套代码&#xff0c;可发布到iOS、Android、H5、以及各种小程序(微信/支付宝…

Blazor入门

&#xff2e;&#xff2f;&#xff37;现在行动&#xff01;Blazor是一个基于C#&#xff0c; Razor和 HTML的新的Web UI框架。它通过WebAssembly运行在浏览器中。有利于使用C#而不是JavaScript构建交互式的Web UI。这篇文章演示了如何使用Blazor构建SPA应用。Blazor简化了可在任…

第七届蓝桥杯(国赛)——随意组合-dfs,next_permutation

【问题描述】 小明被绑架到X星球的巫师W那里。 其时&#xff0c;W正在玩弄两组数据 (2 3 5 8) 和 (1 4 6 7) 他命令小明从一组数据中分别取数与另一组中的数配对&#xff0c;共配成4对&#xff08;组中的每个数必被用到&#xff09;。 小明的配法是&#xff1a;{(8,7),(5,6),(…

方框加对勾怎么输入_对号“√”怎么输入到方框“□”-空格对号

对号”√”怎么输入到方框”□”内啊&#xff1f;&#xff1f;是这样的&#xff0c;我在做一个表格例如&#xff1a;1&#xff0c;是否完成。□2&#xff0c;是否已经准备好资料。□如果“是”就在方框内打对号“√”&#xff0c;不是就打错号“X”但是怎么打在方框内阿&#x…

C#桌面开发的未来WebWindow

WebWindowWebWindow是跨平台的库。Web Window的当前实验实现可在以下平台上运行&#xff1a;Windows – 需要基于Chromium的EdgeLinux – 使用WebKitMac – 需要Safari源码https://github.com/SteveSandersonMS/WebWindow.gitZeje Fork的分支&#xff1a;https://github.com/ze…

第七届蓝桥杯决赛真题 - 凑平方数-全排列+dfs+set去重

题目&#xff1a; 凑平方数 把0~9这10个数字&#xff0c;分成多个组&#xff0c;每个组恰好是一个平方数&#xff0c;这是能够 办到的。比如&#xff1a;0, 36, 5948721再比如&#xff1a; 1098524736 1, 25, 6390784 0, 4, 289, 15376 等等…注意&#xff0c;0可以作为独立的…

计算标准差分母是n还是n-1?

概述 提问&#xff1a;在我们计算某些数据标准差&#xff08;或者方差&#xff09;的时候&#xff0c;会发现有些公式分母是n&#xff0c;而有些公式的分母却是&#xff08;n-1&#xff09;&#xff0c;那么到底哪个公式才是正确的呢&#xff1f; 答案&#xff1a; 如果是算…

三调 图斑地类面积_三调对于最小上图图斑面积的要求是:

【单选题】设二维数组 A[1...m,1...n] (即 m 行 n 列)按行存储在 B[1...m*n] 中,则二维数组元素 A[i,j] 在一位数组 B 中的下标为( )【单选题】二维数组 a[1..N , 1..N] 可以按行存储或按列存储。对于数组元素 a[i,j] ( 1<i,j<N ),当( )时,在按行和按列两种存储方式下,其…

C#小游戏—钢铁侠VS太空侵略者

身为漫威迷&#xff0c;最近又把《钢铁侠》和《复仇者联盟》系列又重温了一遍&#xff0c;真的是印证了那句话&#xff1a;“读书百遍&#xff0c;其意自现”。看电影一个道理&#xff0c;每看一遍&#xff0c;都有不懂的感受~ 不知道大伙是不是也有同样的感受&#xff0c;对于…

受检异常 非受检异常_这样设计 Java 异常更优雅,赶紧学

来源&#xff1a;Lrwinlrwinx.github.io/2016/04/28/如何优雅的设计java异常/导语异常处理是程序开发中必不可少操作之一&#xff0c;但如何正确优雅的对异常进行处理确是一门学问&#xff0c;笔者根据自己的开发经验来谈一谈我是如何对异常进行处理的。由于本文只作一些经验之…