![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
dfs
Re0:c++入门到放弃
这个作者很懒,什么都没留下…
展开
-
Poj 1321 棋盘问题
原题链接:http://poj.org/problem?id=1321题目大意:(中文题。不说)思路:每次DFS都只找下一行(前几行已经放过,不用搜索了) 用一个数组来存放列信息。用于判断能不能在这一列放棋子 dfs中循环遍历每一个可以放置的位置,可以顺便解决空行的问题 因为存在回头问题。所以check_row的值在dfs完之后要改回0 这样才保证其他点的搜索正常代码如下:#include原创 2015-08-11 15:17:35 · 246 阅读 · 0 评论 -
HDU 1016 Prime Ring Problem
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1016题目大意:给你n个数。这些数为(1,2,3….n)。然后放入一个环中。要求每个数都要放入。同时每个数的左右两边的和都要为素数。输出所有的摆法思路:因为说给数字小于20,所以最大的素数为37 只需每次逐个深搜判断既可 Check数组用于临时存放顺序。只用满足的时候才会赋值给Keep 最后把Kee原创 2015-08-11 15:42:40 · 213 阅读 · 0 评论 -
ACdream 1726
ACdream 1726原题链接:http://acdream.info/problem?pid=1726题目大意:输入一个n和H。接着给你n个数。问能不能取其中的一个或多个的数,使得它(们)的和为H思路:每个数都可以选择或者不选择,所以要分别做深搜。可以考虑开辟一个数组来存放前N项和(建议先排序)用于剪枝用途防止超时。用long long 来存放数据。防止数据过大int 或 long 存不下代码如原创 2015-08-11 15:05:07 · 426 阅读 · 0 评论 -
HDU 1312 Red and Black
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1312题目大意:输入W和H表示有W列。H行。输入一个W * H的图。其中’#’表示此位置不能走,’.’表示此位置可以走。‘@’表示此处为起点。问最多可以走多少个‘.’思路:从记录的起点坐标开始,逐个遍历每个点。如果新的点满足条件就把值加一。不满足就继续搜索其他位置的点。代码如下:#include <ios原创 2015-08-11 15:13:27 · 216 阅读 · 0 评论 -
HDU 1010 Tempter of The Bone
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010题目大意:略思路:时间刚好的时候才可以逃离 如果当前位置和终点的位置的最短距离大于剩余时间也不可以 如果当前位置和终点的位置的最短距离和剩余时间的奇偶性不同也不可以(一块地砖只能走一次)代码如下:#include <iostream> #include <cstdio>char maze[10]原创 2015-08-11 15:23:34 · 238 阅读 · 0 评论 -
HDU 1241 Oil Deposits
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1241题目大意:输入m和n,表示有m行n列。然后输入m*n的图。‘*‘表示没有油。’@‘表示有油。问一共有多少片油田。(一个油点可以和周围8个方向的油点连成一个油田)思路:遍历搜索每一个点。和此点属于同一油井的点改成“*” 每次搜索到不能在搜索的时候,把次数+1.然后搜索下一个点 根据题意。搜索方式为原创 2015-08-11 16:39:35 · 232 阅读 · 0 评论 -
POJ 1426 Find The Multiple
原题链接:http://poj.org/problem?id=1426题目大意:输入一个十进制数n(1<= n <= 200 )。求一个数x。x只由0和1组成。同时x是n的倍数。输出这个x,如果有多个x,输出任何一个思路:暴力做法 用unsigned int来存放数据否则存不下 从1开始DFS。每次把前一次传过来的数*10或者*10+1 这样可以遍历出所有只含0和1的十进制数 逐个判断,满足原创 2015-08-11 15:29:14 · 197 阅读 · 0 评论 -
LeetCode 834. 树中距离之和
一个简单的树形dp。两边dfs,第一遍统计出所有子节点到当前节点的距离。然后第二遍dfs用父节点更新子节点 class Solution { public: const static int MAXN = 10005 ; int dp[MAXN][2], son[MAXN]; int from[MAXN*2], to[MAXN*2], next[MAXN*2], he...原创 2018-08-29 15:03:25 · 658 阅读 · 0 评论