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 · 194 阅读 · 0 评论 -
【DFS】蓝桥杯试题 基础练习 2n皇后问题
问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。 输入格式 输入的第一行为一个整数n,表示棋盘的大小。 接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可以放皇后,如果一个整数为0,表示对应的位置不可以放原创 2021-03-02 22:00:33 · 94 阅读 · 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 · 97 阅读 · 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 · 148 阅读 · 0 评论 -
蓝桥杯 2017试题 分考场 DFS
#include<bits/stdc++.h> #define maxn 110 using namespace std; int n, m, x, y, ans = maxn; int a[maxn][maxn]; //记录i考场j位置坐着x学生 int b[maxn][maxn]; //记录i和j认识否 认识为1, 不认识为0 void dfs(int x, int k){ i...原创 2020-02-17 14:36:58 · 153 阅读 · 0 评论 -
P1118【USACO06FEB】 数字三角形 题解 dfs
这又是一道自己没写出来的题 然后参考了dalao们的题解 自己写了一遍 一开始也想到了要全排列 然后也知道肯定会tle 参考了dalao们的题解后理解的做法: ①构造杨辉三角 ②每次全排列枚举不用进行到底,可以通过每一步求和进行剪枝(若部分和已经超过总和则return) 做法一代码: #include<bits/stdc++.h> using namespace std; int a[...原创 2020-01-27 02:28:19 · 150 阅读 · 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 · 206 阅读 · 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 · 176 阅读 · 0 评论 -
【题解】洛谷1019 单词接龙 字符串处理+dfs深搜
题目链接: https://www.luogu.org/problem/P1019 题目大意: ①已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙” ②每个单词都最多在“龙”中出现两次 ③重合部分合为一部分,且每次取两单词重合部分的最短值 ④两单词不能有包含关系 我的题解: 以给出的输入输出样例为例: 输入: 5 at touch cheat choose tact a 输出...原创 2019-11-03 21:04:05 · 235 阅读 · 0 评论