DFS
文章平均质量分 70
shengweisong
只有行动,才能解除所有的不安
展开
-
nyoj58最少步数 【DFS】
最近对回溯和深搜仔细的研究了以下,原创 2014-05-29 10:05:57 · 997 阅读 · 1 评论 -
poj 1088 滑雪 【记忆化搜索】+【DFS】
策略:如题 题目链接:http://poj.org/problem?id=1088 代码: #include #include int map[105][105], dp[105][105], n, m; const int dir[4][2] = {0, 1, 1, 0, 0, -1, -1, 0}; //四个方向 int limit(int x, int y) //判断是不是越界了 {原创 2014-08-03 11:10:04 · 945 阅读 · 0 评论 -
hdoj 1864 最大报销额 【01背包】||【dfs】
最大报销额 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 17014 Accepted Submission(s): 4959 Problem Description 现有一笔经费可以报销一定额度的发票。允原创 2014-11-25 15:31:35 · 1010 阅读 · 0 评论 -
nyoj 491 幸运三角形 【DFS】+【打表】
幸运三角形 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 话说有这么一个图形,只有两种符号组成(‘+’或者‘-’),图形的最上层有n个符号,往下个数依次减一,形成倒置的金字塔形状,除第一层外(第一层为所有可能情况),每层形状都由上层决定,相邻的符号相同,则下层的符号为‘+’,反之,为‘-’;如下图所示(n = 3 时的原创 2014-11-27 20:19:06 · 1081 阅读 · 0 评论 -
nyoj 27 水池数目【递归】
找到一个水池找它四周也是1原创 2014-06-20 18:40:52 · 636 阅读 · 0 评论 -
poj 3050 Hopscotch 【DFS】
Hopscotch Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2156 Accepted: 1548 Description The cows play the child's game of hopscotch in a non-traditiona原创 2014-12-06 13:39:47 · 1200 阅读 · 0 评论 -
hdoj 1015 Safecracker 【dfs】
Safecracker Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 8947 Accepted Submission(s): 4529 Problem Description === Op tech br原创 2014-12-07 20:15:12 · 918 阅读 · 0 评论 -
NYoj 366 D的小L 【DFS】
D的小L 时间限制:4000 ms | 内存限制:65535 KB 难度:2 描述 一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给匡匡出了个题目想难倒匡匡(小L很D吧),有一个数n(0,,,聪明的你能帮匡匡解围吗? 输入第一行输入一个数N(0 输出按特定顺序输出所有组合。 特定顺序:每一个组合中原创 2015-03-09 23:55:37 · 906 阅读 · 0 评论 -
Nyoj 43 24 Point game 【DFS】
24 Point game 时间限制:3000 ms | 内存限制:65535 KB 难度:5 描述 There is a game which is called 24 Point game. In this game , you will be given some numbers. Your task is to find an expressi原创 2015-03-18 19:33:39 · 861 阅读 · 0 评论 -
Poj 1426 Find The Multiple 【DFS】
Find The MultipleTime Limit: 1000MS Memory Limit: 10000K Total Submissions: 19815 Accepted: 8048 Special Judge DescriptionGiven a positive integer n, write a program to find out a nonzero multiple原创 2015-04-12 19:22:34 · 716 阅读 · 0 评论 -
Hdoj 1427 速算24点 【DFS】
速算24点 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 3574 Accepted Submission(s): 869 Problem Description 速算24点相信绝大多数人都玩过。就是随机给原创 2015-04-25 00:03:28 · 2192 阅读 · 0 评论 -
poj 1011 Sticks 【DFS】+【剪枝】
题意:有未知根(长度一样)木棒(小于等于n),被猪脚任意的截成n段,猪脚(脑抽了)想知道被截之前的最短长度(我推测猪脚得了健忘症)。 这道题光理解题意就花了好久,大意就是任意根被截后的木棒拼到一起,能不能组成s(《=n)根的相同的木棒, 例:数据 9 5 1 2 5 1 2 5 1 2 可以组成最短为6 的(5+1, 2+2+2)3根木棒。 策略:深搜。 不过要是传统的深搜的话,TL原创 2014-08-18 21:50:23 · 885 阅读 · 0 评论 -
hdoj 2553 N皇后问题 【DFS】
题意:。。。 典型的深搜,就是处理对角线的时候有些意外。 代码(注释掉的就是深搜,因为我不打表的话 TL): #include int c[11], n, ans; int res[10] = {1, 0, 0, 2, 10, 4, 40, 92, 352, 724}; /*void dfs(int cur) { if(cur == n) { ++ans; return ; }原创 2014-08-17 15:07:08 · 879 阅读 · 0 评论 -
poj 1321 棋盘问题 【DFS】
题意:。。。 策略:深搜. 仔细分析我们发现,我们只需要对列进行标记,对于行我们考虑放棋子还是不放就行了。 代码: #include #include char s[10][10]; int n, m; int vis[10]; int ans; void dfs(int cur, int step) { if(step == m){ ans ++; return; } if原创 2014-08-15 09:19:20 · 737 阅读 · 0 评论 -
nyoj 1058 部分和问题 【DFS】
这道题同上一道题一起比较一下 大概就可以理解DFS中‘return;’原创 2014-06-16 21:58:47 · 827 阅读 · 0 评论 -
nyoj 19 擅长排列的小明 【DFS】
一直在研究dfs中‘return;’什么作用!!最近做了俩道题都是和原创 2014-06-16 21:53:11 · 690 阅读 · 0 评论 -
nyoj 325 zb的生日 【DP】||【DFS】
两种方法: 第一种:将总数一半当做背包,用总数-2*最多能装的数目就是所求; 第二种:深搜; zb的生日 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述今天是阴历七月初五,acm队员zb的生日。zb正在和C小加、never在武汉集训。他想给这两位兄弟买点什么庆祝生日,经过调查,zb发现C小加和never都很喜欢吃西瓜,而且一原创 2014-07-27 23:29:20 · 900 阅读 · 0 评论 -
nyoj 90 整数划分 【深搜】
用深搜(万能啊!!!) 网上还有另一种方法,原创 2014-07-09 21:14:51 · 725 阅读 · 0 评论 -
hdoj 1016 Prime Ring Problem 【DFS】
策略如题 链接 http://acm.hdu.edu.cn/showproblem.php?pid=1016 代码: #include #include int prime[25] = {1, 1}, n, vis[25]; //vis作用:标记是否用过 int a[25]; void f() //找出来前20的素数 判定为0 { for(int i = 2; i <= 24; i ++原创 2014-07-30 12:00:44 · 800 阅读 · 0 评论 -
hdoj 1045 Fire Net 【DFS】
题意:如果两个点要放在同一行或者同一列,那么两个点中间要有一个墙,否则的话只能放一个点,最后问你最多能放几个点。 看了一个星期。。 这道题的解法我还是第一次见,就是逐个逐个的来放置每个点,然后每经过一个点都判断一次,详情看代码原创 2014-08-21 23:52:21 · 778 阅读 · 0 评论 -
hdoj 1010 Tempter of the Bone 【DFS】+【奇偶剪枝】
题意:从S出发到D停止,并且要在指定的时间t走到(不早不晚)。注意,每个‘.’只能走一次。 分析:DFS,但是用普通的dfs,TL, 所以要剪枝。我们可以想到,如果可以早到D点,但是D点周围有其他可以踩的点,并且可以观察到,从一个点(不是D点)到D点的距离(abs(x-dx)+abs(y-dy))是奇数的话,就要走奇数步,偶数的就走偶数步,()原创 2014-08-22 22:25:30 · 843 阅读 · 0 评论 -
hdoj 1518 Square 【dfs】
题意:给出n个(不同长度的)棍子,问能不能将他们构成一个正方形。 策略:深搜。原创 2014-08-27 07:59:55 · 972 阅读 · 0 评论 -
hdoj 1455 Sticks 【dfs】
题意:找最短的木棍能够组成的长度, hdoj 1518 的加强版 代码: #include #include #include using std::sort; #define M 70 int s[M], vis[M]; int n, ans; int cmp(int a, int b) { return a > b; } int dfs(int cou, int cur,原创 2014-08-27 08:20:16 · 878 阅读 · 0 评论 -
poj 3009 Curling 2.0 【DFS】
题意:从2出发,要到达3, 0可以通过,碰到1要停止,并且1处要变成0, 并且从起点开始沿着一个方向要一直前进,直至碰到1(或者3)处才能停止,(就是反射来反射去知道反射经过3).如果反射10次还不能到达3,就输出-1. 策略:深搜。 易错点,方向不容易掌握,并且,出题人把n, m顺序反了。 代码: #include #include int map[25][25]; int ans, n原创 2014-08-14 23:16:39 · 769 阅读 · 0 评论 -
Hdoj 1428 A Walk Through the Forest 【spfa】+【记忆化搜索】
A Walk Through the ForestTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 6397 Accepted Submission(s): 2348Problem Description Jimmy experie原创 2015-05-02 23:37:10 · 1127 阅读 · 0 评论