【DFS】
dfs
不牌不改
※ 接受自己很普通
展开
-
1067 Sort with Swap(0, i) (25 分)
题目题目链接题解思维+DFS。比较难想的是问题转化的思路。规定a[i]表示索引为i处的初始数为a[i]。我们引入边,由i指向a[i](由a[i]指向i也可以),将所有n个边都连上后,可能存在若干个环,也可能自己指向了自己(自环)。我们思考几种情况,不考虑自环,也就是说环至少由两个不同的点构成:假如0在一条由k个不同的点构成的环上,那么经过k-1次交换就可以把这些数都归位,只要顺着环的方向换位置就行了。假如一条由k个不同的点构成的环上,并不包含0,那么经过k+1次交换可以把这些数归位。之原创 2022-04-20 21:15:50 · 347 阅读 · 0 评论 -
L3-014 周游世界 (30 分)
题目题目链接题解DFS。采用的数据结构,vector,索引为起点,值为{终点,起点公司编号},当然你也可以保存终点公司编号,但是代码中的语句就需要改一下了。dfs,传入四个信息,当前节点、遇到的节点数、换乘数、当前节点所在公司的编号。由于存在循环,要加入标记数组进行标记。不敢dfs啊,而且也没想好用什么数据结构,看了大佬的题解才知道如何保存路径,才知道要用dfs,不过好歹最后自己写出来(算是)。代码#include<bits/stdc++.h>#define PII pa原创 2022-04-19 16:44:03 · 660 阅读 · 0 评论 -
1013 Battle Over Cities (25 分)
题目题目链接题解DFS。对于每个删除的点,计算剩下的点构成的图的连通区域个数-1。每次将被删掉的点标记一下,遍历全部剩余点,如果被标记则不进行统计,未被标记就+1,同时dfs,将从此能到达的点全部标记为1,最后统计的未被标记的点的个数-1就是答案。代码#include<bits/stdc++.h>using namespace std;const int N = 1e6+10;int st[N];int e[N<<2], ne[N<<2], h[原创 2022-04-11 14:22:47 · 720 阅读 · 0 评论 -
1104 天长地久 (20 分)
题目题目链接题解第一种做法:需要一定的数学思维+枚举。规定 Sum(A)Sum(A)Sum(A) 表示 AAA 的各位之和。最重要的一点是要想到任意两个相邻自然数的最大公因子只能是1,也就是说如果 Sum(A+1)−Sum(A)=1Sum(A+1) - Sum(A) = 1Sum(A+1)−Sum(A)=1,那么 Sum(A+1)Sum(A+1)Sum(A+1) 和 Sum(A)Sum(A)Sum(A) 的最大公因子只能是1,因此我们必须要让 Sum(A+1)Sum(A+1)Sum(A+1)原创 2022-03-29 17:28:23 · 1551 阅读 · 0 评论 -
2021年蓝桥杯A组省赛-左children右sibling
CXXX有毛病?“左孩子右兄弟”字眼很敏感吗???题目题目链接题解贪心,DFS。以 uuu 为根的子树选择包含节点最多的以 vvv 为根的子树作为最后连接的右兄弟能保证树向下延展的最多。所以重点转换为了计算以 uuu 每个子结点为根的子树中包含节点最大的个数,递归计算每个子树的节点数(不含根节点),每棵子树能构成的最深深度为其直接子节点数量+能构造出来最深的二叉树的深度(并不是全部节点数量)一开始想的是每次都以最大的子树向下扩展,但是写代码的时候想成了以直接子结点最多的子树向下扩展。.原创 2022-03-27 10:02:25 · 1244 阅读 · 0 评论 -
L2-029 特立独行的幸福 (25 分)
题目题目链接题解DFS(记忆化)说明:一个数如果先转换成了不在范围内的数后最终转换到了1是允许的,即也可以判定为是幸福数。主要的难点在于如何判断数是否为幸福数、如果是幸福数又如何判断该数是否能由其他幸福数转换而来、统计迭代的次数。在dfs的过程中通过设置数组标记来解决上面的难点。代码#include<bits/stdc++.h>using namespace std;const int N = 1e4+10;int l, r;int dp;int st[N]; //原创 2022-03-22 19:13:14 · 593 阅读 · 0 评论 -
L2-016 愿天下有情人都是失散多年的兄妹 (25 分)
题目题目链接题解DFS。孩子向父母方向连边,将孩子视为根节点。首先判断输入两个人的性别,如果不同再分别以二者为起点进行dfs,前者五服之内的亲属都标记一下,以后者为起点dfs,如果遇到了标记的人,那么说明五服之内存在公共祖先,不可以结婚。我一直在思考怎么用倍增法计算最近公共祖先,但是死活想不出来,因为一个孩子有一对父母,这和一般的公共祖先还不一样,最近公共祖先是一个父节点有多个节点,而本题是一个子节点有多个父节点;如果将孩子理解为父节点,父母理解为子节点,虽然构造出最近公共祖先问题,但是并不原创 2022-03-22 11:29:49 · 399 阅读 · 0 评论 -
2018年蓝桥杯省赛-全球变暖
题目题目链接题解DFS。比较基础,考查的是DFS判连通。二维空间DFS判连通模板代码#include<bits/stdc++.h>using namespace std;const int N = 1010;int n, idx;string a[N];int id[N][N]; // (i,j)属于第几块陆地int vis[N][N]; // 判断(i,j)这块地是否已经被淹没 int dir[2][4] = {-1, 1, 0, 0, 0, 0, -1,原创 2022-03-19 14:40:46 · 547 阅读 · 0 评论 -
2021蓝桥杯模拟赛-受伤的皇后
题目题目链接题解DFS。八皇后问题改编而已,加入判断左上三格内和右上三格内是否存在皇后。代码#include<bits/stdc++.h>using namespace std;int n, ans;int col[15], vis[15][15];bool check (int x, int y) { int tx = x, ty = y, cnt = 0; while (tx >= 0 && ty >= 0 && cn原创 2022-03-18 21:18:10 · 509 阅读 · 1 评论 -
2017蓝桥杯C/C++B组国赛-瓷砖样式
题目题目链接题解DFS。方案需要满足的要求:只能有黄和橙两种颜色;必须填满;任何一种颜色都不允许同时出现在 2×22×22×2 的方格中;任意一种颜色图案都必须能由 2×12×12×1 或 1×21×21×2 的长方形瓷砖拼成;瓷砖不能切割,不能重叠,也不能只铺一部分;只考虑组合图案,忽略瓷砖的拼缝.举几个反例:最后一种容易忽略。想过二进制枚举,但是二进制枚举的话,对于枚举到的每种状态不好判断是否满足要求。所以还是得用DFS。由于要求两种颜色的图案都要能用 2×12×原创 2022-03-15 16:59:36 · 607 阅读 · 0 评论 -
蓝桥杯2017初赛-方格分割
题目题目链接题解思维。以(3,3)处的交点为起点(索引从0开始,注意是交点,不是格子)向四个方向前进,到达的点要进行标记,同时也向相对的方向前进,也进行标记,直到遇到边界停止前进,计数,最后答案除以4。绿色和蓝色轨迹是按照相反的方向前进得到的。除以4是因为最终达到边界上下左右存在四种对称的情况,所以除以4。额外说几点:拿到这个题,我的思路是直接同时从左上角的格子和右下角的格子dfs,当全部格子都被标记,且该行走方案的上下对称、左右对称、中心对称等方案都没出现过时,统计该方案。最终输出原创 2022-03-14 11:35:45 · 482 阅读 · 0 评论 -
2019年蓝桥杯省赛-数的分解
题目题目链接题解DFS。一定看清要求。3 个不同正整数正整数中不能包括2和4满足加法交换律的算式属于一种情况代码#include<bits/stdc++.h>using namespace std;const int N = 2019; int ans = 0;bool check (int x) { while (x) { if (x % 10 == 2 || x % 10 == 4) return false; x /= 10; } re原创 2022-03-11 09:46:42 · 213 阅读 · 0 评论 -
DFS 输出从n个数中选m个数的全部情况
#include<bits/stdc++.h>using namespace std;int vis[10], n = 4, m = 3;void dfs (int x, int sum) { if (x > n) return ; // 不是 x>=n!!! // 因为x=n说明轮到了选或不选第n个数,但是没判断此时sum的值 if (sum == m) { for (int i = 0;i < n;i ++) if (vis[i]) c原创 2022-03-10 17:37:38 · 570 阅读 · 0 评论 -
DFS 二维空间统计四连通区域个数,并返回每个连通区域中的节点个数
#include<bits/stdc++.h>using namespace std;// dfs 二维空间统计四连通区域个数,并返回每个连通区域中的节点个数 int n = 3, m = 3, ans;int vis[100], mp[100];int dfs (int x, int y) { // 这个函数必须要传入行号和列号,不能传入降维至一维的编号 if (x < 0 || x >= n || y < 0 || y >= m) return 0原创 2022-03-10 17:51:32 · 576 阅读 · 0 评论 -
DFS 显示n个数中选取i(0~n)个数的情况
#include<bits/stdc++.h>using namespace std;int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};int vis[10];int n = 10, ans;void dfs (int x) { if (x == n) { for (int i = 0;i < n;i ++) if (vis[i]) cout << a[i] << ' '; cout <<原创 2022-03-10 21:11:43 · 175 阅读 · 0 评论 -
2020年蓝桥杯C++B组省赛-七段码
题目题目链接题解DFS + 并查集。哇,不得不说两年前的我确实比现在强,这题是我当年比赛的时候遇到的,当时居然想出来了,现在根本不会,JR老矣,尚能AC否。用 1 ~ 7 来代表 a ~ g;若某两个二极管相邻,那么就在它们之间连一条边;先用 dfs 枚举出二极管的所有亮灭情况;再用 并查集 判断是否只有一个连通块.代码#include<bits/stdc++.h>using namespace std;int vis[10], fa[10], e[10][10原创 2022-03-10 21:31:14 · 357 阅读 · 0 评论 -
2016年蓝桥杯省赛C/C++ A组-剪邮票
题目如下图,有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。 (仅仅连接一个角不算相连)比如,粉红色所示部分就是合格的剪取。题解全排列+递归 或 DFS+递归。与2013年的剪格子几乎一样,但是13年的剪格子由于数据比较特殊,所以纯DFS就可以AC,但是其本质与本题是相同的,如果真正正确,那么不能纯DFS。纯DFS只能实现依次遍历,即S型遍历,但是无法实现T型遍历,而本题很显然存在T型连通的情况,因此纯DFS遍历失效。DFS的整体思路:从这12个数中原创 2022-03-10 18:19:09 · 602 阅读 · 0 评论 -
2016年蓝桥杯省赛C/C++ A组-寒假作业
题目现在小学的数学题目也不是那么好玩的。看看这个寒假作业:□ + □ = □□ - □ = □□ × □ = □□ ÷ □ = □每个方块代表1~13中的某一个数字,但不能重复。比如:6 + 7 = 139 - 8 = 13 * 4 = 1210 / 2 = 5以及:7 + 6 = 139 - 8 = 13 * 4 = 1210 / 2 = 5就算两种解法。(加法,乘法交换律后算不同的方案)你一共找到了多少种方案?请填写表示方案数目的整数。注意:你提交的应该是一个整原创 2022-03-10 11:28:30 · 233 阅读 · 0 评论 -
蓝桥杯2015年第六届真题-生命之树
题目题目链接题解树状DP。基础树状DP题了。首先先讲一下题目什么意思(起初,我就理解错了)题目说在树上找一些点,这些点满足:在这些点中任取两个点a和b,都能够找到一条路径连通。我这样一翻译是不是感觉清晰多了,其实就是找一个点集,保证点击任意两点可达,这就是在找个连通区域。(最开始,我理解成了要找一条直径使得直径上的点价值加起来最大……)dp[i][0/1]表示以i为根的子树不选取根节点i和选取根节点i构成连通区域的最大分数;(比较难以描述)dp[i][0]是不选根节点,意味着以i为根原创 2022-03-08 22:37:20 · 161 阅读 · 0 评论 -
滑雪(记忆化搜索)
滑雪 acwing 记忆化搜索原创 2022-01-14 09:10:42 · 192 阅读 · 0 评论 -
蓝桥杯2017年第八届真题-发现环
题目题目链接题解并查集+DFS。并查集比较明显,因为要判断有没有环;思路也很简单,若不停加边,若两个点的fa是一样的,则说明再加上这两点之间的直接 边就会出现环,因此这两个点一定位于环上;我们以两点中的其中一个点为起点,dfs寻找另一个点,记录dfs路径上选择的点,当到达另一个点时,说明找完了环上的点,排序输出即可。注意find函数路径压缩,否则超时。代码中还有一些降低时间复杂度的细节操作,详见代码。代码#include<bits/stdc++.h>using name原创 2021-08-20 10:37:47 · 270 阅读 · 0 评论 -
蓝桥杯2015年第六届真题-生成树计数
题目题目链接题解暴力DFS。没想到直接暴力DFS就行。暴力选边,对于每条边可以选择选,也可以选择不选;dfs过程可以有两种方式:其一:每次选此边时都先判断一下,选了此边会不会成环,若成环,则不能选此边,若不会构成,则可以选此边。其二:每次选边不进行判断,而是深搜到底且选取边的个数满足要求时,对全部被选的边进行判断,若不构成环则答案加一。两种方式均可,第一种耗时少;两种方式分别对应代码1,代码2。判断是否为环利用的是并查集的思想(有点类似于最小生成树的克鲁斯卡尔算法):第一种方式中判断原创 2021-08-18 23:18:20 · 590 阅读 · 4 评论 -
蓝桥杯2015年第六届真题-机器人塔
题目题目链接题解DFS+二进制枚举。经典dfs之一。好像比较经典的那个同型dfs题叫“符号三角形”?可以看出上面一行的安排方式均由下面一行的安排方式决定,因此我们只要定好最后一行,那么上面的安排方式均可以由下行推出,且最后一行固定则整个三角形安排方式唯一。我们用000表示AAA,111表示BBB,这是由AAA和BBB出现的条件导致的,当两个字母一致时可以放AAA,当两个字母不一样时放BBB,这与异或运算不谋而合,因此000表示AAA,111表示BBB时有,A^A = B^B = A、B^A原创 2021-08-17 20:52:49 · 466 阅读 · 0 评论 -
蓝桥杯2016年第七届真题-路径之谜
题目题目链接题解DFS。半模板题,就多了个限制,这个限制可以作为剪枝条件剪掉,也可以作为限制条件防止走错误的步。下面代码中的check函数和dfs中第二个continue的条件就是利用了题目中对箭数的要求。代码#include<bits/stdc++.h>using namespace std;const int N = 1010;int dx[] = {0, 0, 1, -1};int dy[] = {1, -1, 0, 0};int n, vis[N], bes原创 2021-08-17 15:39:36 · 156 阅读 · 0 评论 -
蓝桥杯2015年第六届真题-表格计算
题目题目链接题解搜索。可以使用简单的DFS,也可以记忆化,我用的是记忆化。我们在输入的时候就将操作和数值区分开来,分别保存;记忆化搜索函数中,对于遍历的每个位置,判断是否为数值,若为数值那么直接返回数值输出即可;若为操作,则深搜这个操作需要遍历的全部位置。这个题难倒不难,就是麻烦。代码#include<bits/stdc++.h>using namespace std;const int N = 110, INF = 0x3f3f3f3f;int n, m;dou原创 2021-08-17 14:59:11 · 129 阅读 · 0 评论 -
蓝桥杯算法训练VIP-比赛安排
题目题目链接题解DFS。本题我们要开两个标记数组,flag数组是个二维数组,用于标记某两只队伍是否进行过比赛了,另一是一维数组vis,用于标记某只队伍是否比过赛。两个数组的作用范围不同,vis数组只在每一行中有效,每到下一行时,vis要全部清空,有种局部的感觉;而flag数组是对全部比赛加以控制,控制进行过比赛的双方不可以再次进行比赛。注意我们是不对标记进行回溯的。本代码的难点就在于能不能理解两个标记数组。代码#include<bits/stdc++.h>using nam原创 2021-08-13 23:14:50 · 159 阅读 · 0 评论 -
蓝桥杯算法训练VIP-摆动序列
题目题目链接题解DFS。这么暴力?没想到这都过了。首先枚举前两个数,因为摆动序列最少俩数,枚举好前两个数之后就开始dfs。每次递归都让答案加一,因为两种情况存在包含关系也属于两种不同的情况;判断第i-2个数与i-1个数的大小关系,根据大小关系确定第i个数的遍历范围,这样可以降低时间复杂度。其他部分就是单纯的dfs。代码#include<bits/stdc++.h>using namespace std;int n, a[30], vis[30], ans;void原创 2021-08-13 21:57:18 · 150 阅读 · 0 评论 -
蓝桥杯算法训练VIP-求先序排列
题目题目链接题解递归。首先要了解什么是先序遍历,中序遍历和后序遍历。大佬讲解树的遍历一般同学们应该都知道如何遍历。这个题有点像模拟实现题,就是把你手算的过程实现一遍。整体思路:先从后序遍历中确定根,再去中序遍历中找到根的左右两侧的子树,再根据中序遍历中确定的左子树,从后序遍历中找到对应的左子树,后序遍历中左子树的根就是左子树序列中的最后一个字母,右子树同左子树。现在我们又得到一个根了,又可以重复上面的过程了。递归函数我们每次传递中序遍历中此子树的起始索引和终止索引、后序遍历中此子树原创 2021-08-13 20:48:00 · 213 阅读 · 0 评论 -
蓝桥杯算法训练VIP-单词接龙
题目题目链接题解DFS。真没想到居然是暴力搜索,感觉时间复杂度根本不允许啊。大致思路:每次递归都遍历全部字符串,对于每个字符串,枚举要匹配的长度,在此长度下依次匹配原串的尾与遍历到的字符串的头,完全相同说明可以匹配当前长度,就继续深搜。注意:允许一个字符串用两次。还是觉得离谱。代码#include<bits/stdc++.h>using namespace std;int n, ans, vis[30];string s[30];char ch;void df原创 2021-08-12 21:02:43 · 326 阅读 · 1 评论 -
蓝桥杯算法训练VIP-FBI树
题目题目链接题解递归。很显然这是一棵满二叉树,对于二叉树,我一般喜欢用数组存储,对于根的编号为i的结点,其左儿子为2i,右儿子为2i+1。建树的过程是深搜的过程,也称递归建树,先去建左右子树,最后建根,若左儿子和右儿子符号相等且不为‘F’,则根的符号与儿子符号相等,其他情况根的符号均为‘F’;边界条件,当递归到树的最后一层时,判断字符串(退化成一个字符了)为“0”还是“1”,为“0”则将该叶子结点的符号标记为“B”,否则为“I”,返回即可。每个结点是什么符号都已经标记完成了,接下来就是输出,按原创 2021-08-10 20:25:58 · 203 阅读 · 0 评论 -
蓝桥杯算法提高VIP-邮票面值设计
题目题目链接题解DFS+动态规划。整体思路:第i个邮票的面值的范围为:value[i] = value[i-1]+1 ~ mx[i-1]+1,其中value[i]表示第i个邮票的面值,mx[i]表示前i个邮票能构成的连续最大数;解释一下这个范围,第i个邮票的面值至少比第i-1个邮票的面值多1,且必须要不超过前i-1个邮票(默认都是最多n张)所能构成的最大面值+1,要是大于最大面值+1就无法满足连续了。因此,如果我们知道前一个邮票的面值,那么我们就可以推出当前邮票的面值范围,枚举范围内的面值,进原创 2021-08-10 11:07:19 · 422 阅读 · 0 评论 -
蓝桥杯算法提高VIP-棋盘多项式
题目题目链接题解DFS。整体思路:横向分块,如下:我们只需要按连通块的序号去深搜即可,对于每个连通块,我们可以选择其中的任何一个空格作为放“車”的位置,或者选择不在这个连通块中放“車”。因此,我们的问题转化为在dfs中如何确定连通块,如何确定连通块中的哪个格子可以放,哪个格子不能放。解决连通块的确定,只需要解决左端点和右端点的确定即可,那么我们不妨去遍历这一行,遇到洞就说明分开了两个连通块(不严谨的说)。对于确定好的一个连通块,我们对这个连通块中的空格再进行遍历,这次遍历的目的是为了确定连原创 2021-08-08 23:00:12 · 354 阅读 · 0 评论 -
[蓝桥杯][算法提高VIP]产生数
题目题目链接题解DFS + 高精度。大致说一下题目意思:给出一组变化方式,允许数字a变到数字b,a,b属于1~9;有一个最多三十位的数,问这个数最多可以变成多少个数(含自己)。怪不得正确率这么低,都是因为忘记开高精度了!先不考虑高精度,我们来实现一下:每一位都是独立的,因此我们求出每一位的数最多有多少种变化方式,之后每一位的变化方式数相乘就是最终答案,这样算正好结果也包含原数的情况。这里求每一位的变化方式数用到dfs,只要遍历过就不再遍历了,dfs部分代码如下:void dfs(i原创 2021-08-05 10:00:42 · 152 阅读 · 0 评论 -
[蓝桥杯][基础练习VIP]2n皇后问题
题目题目链接题解DFS。经典八皇后变形。在经典八皇后的基础上加了另一个皇后,也要求满足同样的规则,按行dfs,搜索到每一行时,两重循环枚举每个黑皇后和白皇后的位置,再进行深搜就行,分开标记两种皇后的状访问列、主对角线和副对角线的状态。看代码吧,代码配合注释食用最佳。代码#include<bits/stdc++.h>using namespace std;int mp[10][10];int col1[20], col2[20], a1[20], a2[20], b1[原创 2021-08-03 17:14:23 · 110 阅读 · 0 评论 -
[蓝桥杯][2013年第四届真题]幸运数
题目题目链接题解两种方法:①DFS ②模拟。先讲大佬的DFS,再讲我的模拟,分别对应代码1和代码2代码3是根据大佬代码改进的我的模拟。推荐代码1和代码3!从幸运数字3开始每次都将“通过幸运数字更新过的数组中当前幸运数字的下一个数字”作为幸运数字继续更新数组。因此dfs传入幸运数字的下标,对于数组中此下标之前的数不用处理,属于已经得到的幸运数字;而对于此下标之后的数,我们将那些不能被幸运数字整除的索引所对应的数字顺次拼接到幸运数字的下标之后。这样相当于数组中的前若干个数就是我们想要的幸运数字原创 2021-07-31 17:20:42 · 190 阅读 · 0 评论 -
[蓝桥杯][2014年第五届真题]地宫取宝
题目题目链接题解记忆化搜索。四维数组。看代码吧。觉得像dp又觉得像dfs,最后想写记忆化,但是感觉不大对就没敢写。虽然应该写不出来,但是确实应该写写试试。记忆化搜索弱项!代码#include<bits/stdc++.h>using namespace std;const int MOD = 1000000007;int n, m, k;int a[55][55], dp[55][55][15][15]; // dp[i][j][p][q]:位于(i, j)时,获取原创 2021-07-30 22:12:51 · 90 阅读 · 0 评论 -
[蓝桥杯][2013年第四届真题]危险系数
题目题目链接题解DFS。蓝桥杯中,一般看到图不是BFS就是DFS。代码1对应第一种方法,我的方法:根据关键点的定义:删除这个点之后,无法实现从u到v。那么我们就枚举每个点作为删除点,判断删除这个点之后还能不能实现从u到v。若不能说明删除的点为关键点,否则非关键点。在代码实现的时候,我想把删除点的标记数组与已访问的标记数组统一成一个,但是发现搜索的时候存在将已访问结点进行标记和恢复操作,这也影响到了删除点的标记,实际上删除点的标记应该是一成不变的。所以还是要将两个数组分开。代码2对应第二原创 2021-07-30 17:19:55 · 210 阅读 · 0 评论 -
[蓝桥杯][2013年第四届真题]剪格子
题目题目链接题解DFS。为啥不能用BFS?BFS的话,每扩展一个结点之前扩展过的结点都要被标记,但是其实并不能将队列中出现过的结点都标记,只用标记扩展到当前结点所在路径上的结点即可。多余的扩展会影响结果的正确性,导致有些要走的点没法走了。而用BFS很难在扩展结点时只标记其祖宗结点,因此我们采用DFS。模板题吧。注意先输入列数再输入行数,我他妈卡了好一会。额外说几句,就是蓝桥杯的题本身就不严谨,准确的说很垃圾,无论是题目描述还是数据都水的一批。所以,既然AC了就不要再考虑什么哪些样例过不去什原创 2021-07-29 23:51:14 · 663 阅读 · 2 评论 -
[蓝桥杯][2014年第五届真题]兰顿蚂蚁
题目题目链接题解DFS。没什么难的吧,可能实现的时候用时长短,代码简洁程度不同而已。代码#include<bits/stdc++.h>using namespace std;const int N = 110;int xx, yy, ax, ay, n, m, mp[N][N], stp;char dir;int dx[4] = {-1, 0, 1, 0}; // URDL 顺时针0~3 int dy[4] = {0, 1, 0, -1};void dfs(i原创 2021-07-29 22:49:30 · 117 阅读 · 0 评论