DFS
替这位空想家惊讶
让那恐龙成群行过台面
展开
-
【DFS+记忆化搜索】 蓝桥杯真题 2016初赛 取球博弈
题目描述两个人玩取球的游戏。一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目。如果无法继续取球,则游戏结束。此时,持有奇数个球的一方获胜。如果两人都是奇数,则为平局。假设双方都采用最聪明的取法,第一个取球的人一定能赢吗?试编程解决这个问题。输入输入存在多组测试样例,对于每一组测试数据:第一行3个正整数n1 n2 n3,空格分开,表示每次可取的数目 (0<n1,n2,n3<100)第二行5个正整数x1 x2 … x5,空格分开,表示5局的初始球数(0<原创 2021-04-03 14:16:32 · 184 阅读 · 0 评论 -
【DFS】蓝桥杯试题 基础练习 2n皇后问题
问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。输入格式 输入的第一行为一个整数n,表示棋盘的大小。 接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可以放皇后,如果一个整数为0,表示对应的位置不可以放原创 2021-03-02 22:00:33 · 85 阅读 · 0 评论 -
【DFS】【记忆搜索】leetcode 329. 矩阵中的最长递增路径
题目给定一个整数矩阵,找出最长递增路径的长度。对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。示例 1:输入: nums = [ [9,9,4], [6,6,8], [2,1,1]] 输出: 4 解释: 最长递增路径为 [1, 2, 6, 9]。示例 2:输入: nums = [ [3,4,5], [3,2,6], [2,2,1]] 输出: 4 解释: 最长递增路径是 [3, 4, 5, 6]原创 2020-07-26 10:39:56 · 90 阅读 · 0 评论 -
【DFS】leetcode 10. 正则表达式匹配
题目给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明:s可能为空,且只包含从 a-z 的小写字母。p可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。输入:s = "aa"p = "a"输出: false解释: "a" 无法匹配 "aa" 整个字符串。输入:s = "aa"p = "a原创 2020-05-29 17:20:44 · 140 阅读 · 0 评论 -
蓝桥杯 2017试题 分考场 DFS
#include<bits/stdc++.h>#define maxn 110using namespace std;int n, m, x, y, ans = maxn;int a[maxn][maxn]; //记录i考场j位置坐着x学生int b[maxn][maxn]; //记录i和j认识否 认识为1, 不认识为0void dfs(int x, int k){ i...原创 2020-02-17 14:36:58 · 143 阅读 · 0 评论 -
P1118【USACO06FEB】 数字三角形 题解 dfs
这又是一道自己没写出来的题然后参考了dalao们的题解自己写了一遍一开始也想到了要全排列 然后也知道肯定会tle参考了dalao们的题解后理解的做法:①构造杨辉三角②每次全排列枚举不用进行到底,可以通过每一步求和进行剪枝(若部分和已经超过总和则return)做法一代码:#include<bits/stdc++.h>using namespace std;int a[...原创 2020-01-27 02:28:19 · 138 阅读 · 0 评论 -
P1141 01迷宫 题解 DFSorBFS
这道题虽然在BFS的练习范围但是我看到这道题第一个念头是用dfs写不过我自己写的dfs tle了然后参(模)考(仿)了题解里的一个dfs思路终于过了下面放上参考的思路博客地址:思路参考博客我的代码:#include<bits/stdc++.h>using namespace std;int n, m;int dx[4]={0, -1, 0, 1}, dy[4]={-...原创 2020-01-18 15:35:55 · 195 阅读 · 0 评论 -
P1092 虫食算 题解 DFS 深度优先搜索
这道题一开始自己写的时候,只有30分= =然后参(模)考(仿)了洛谷第一个题解才写出来了(不过是在理解了的前提下,自己敲了一遍),下面附上参考的题解博客地址参考的题解博客我的代码:#include<bits/stdc++.h>using namespace std;int n, cnt;char s1[50], s2[50], s3[50];int a[50], b[5...原创 2020-01-16 12:18:38 · 169 阅读 · 0 评论 -
【题解】洛谷1019 单词接龙 字符串处理+dfs深搜
题目链接:https://www.luogu.org/problem/P1019题目大意:①已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”②每个单词都最多在“龙”中出现两次③重合部分合为一部分,且每次取两单词重合部分的最短值④两单词不能有包含关系我的题解:以给出的输入输出样例为例:输入:5attouchcheatchoosetacta输出...原创 2019-11-03 21:04:05 · 230 阅读 · 0 评论