
搜索
柒月 流火
菜
展开
-
Fire Game FZU - 2150 水题 BFS
题意 一块地上面有草和空地,有两个人想要把草烧光,这样他俩就可以开心的OOXX,他俩都要在一块地上放火(每人只能放一次),可以在相同或者不同的位置放,火可以向四周蔓延,蔓延一次话费1分钟,问他俩把这块地上草烧完所用到的最小时间。思路每次枚举其中的两个点,记录最小时间#include<iostream>#include<algorithm>#inclu...原创 2018-09-05 17:14:34 · 157 阅读 · 0 评论 -
POJ - 2965 The Pilots Brothers' refrigerator 找规律 || dfs+枚举
POJ - 2965 The Pilots Brothers' refrigerator 题意:4*4的开关图,+表示关,-表示开,只有所有开关状态为 '-' 时,灯才会亮,改变开关(i,j)的状态时,i行的开关和j列的开关状态全部改变。思路:dfs+枚举#include<iostream>#include<cstring>#include<...转载 2019-03-31 21:16:00 · 135 阅读 · 0 评论 -
HDU1426 Sudoku Killer 数独 DFS 注意输入格式 Java版
HDU1426 Sudoku Killer 思路:将每一个 ? 位置存储起来,每一个位置从1到9枚举,符合条件就存上。具体思路看代码注意数据的读入,方式不对会导致TLEimport java.util.*;public class Main { static class node { int x,y; node(){}; node(int x,int y)...原创 2019-03-22 09:04:12 · 254 阅读 · 0 评论 -
HDU 1010 - Tempter of the Bone 奇偶剪枝+深搜
HDU 1010 - Tempter of the Bone题意:在一个迷宫中,小狗的位置为 S ,出口的位置在 D ,出口只有在第 t 秒时才会开门让小狗出去。x 为不能走的的位置(小狗在任意一个位置停留时间不能大于等于 1 秒,因为到达1秒那个位置会下降)。求小狗能否走出迷宫思路:简单的 dfs+奇偶剪枝第一次学奇偶剪枝。。。不会的可以看这篇博客:迷宫中回溯法的剪枝——奇偶...原创 2019-03-21 16:30:15 · 193 阅读 · 0 评论 -
2017蓝桥杯 包子凑数 BFS 数学
问题描述 小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼,可以认为是无限笼。 每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼3个的再加1笼5个的(也可能选出1笼3个的再加2笼4个的...原创 2019-02-27 08:47:22 · 163 阅读 · 0 评论 -
HDU - 2612 Find a way 两次BFS
HDU - 2612 Find a way 题意:输出 Y 和 M 到 KFC 最短时间总和。思路:两次 BFS 时间相加,最小的那个即为答案。除了 '#' 不能走,其余的都可以走且每走一步就需要 11 minutes。#include<iostream>#include<cstdio>#include<cstring>#includ...原创 2019-02-26 22:20:44 · 156 阅读 · 0 评论 -
蓝桥杯 算法提高 学霸的迷宫 BFS+输出移动方向
算法提高 学霸的迷宫 时间限制:1.0s 内存限制:256.0MB问题描述 学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗。但学霸为了不要别人打扰,住在一个城堡里,城堡外面是一个二维的格子迷宫,要进城堡必须得先通过迷宫。因为班长还有妹子要陪,磨刀不误砍柴功,他为了节约时间,从线人那里搞到了迷宫的地图,准备提前计算最短的路线。可是他现在正向妹子解释这...原创 2019-03-05 21:46:51 · 174 阅读 · 0 评论 -
POJ - 3984 迷宫问题 BFS+记录并输出最短路径
POJ - 3984 迷宫问题 思路:重点是如何记录并输出最短路径。我们可以用一个 node类型的 pre[ ][ ] 二维数组记录这个状态的前一个状态。如果是正向搜索(从(0,0)到(4,4)),找到结果时需要逆序输出;如果是逆向搜索(从(4,4)到(0,0))找到结果直接输出。逆向搜索(时间少)#include<iostream>#include<cstd...原创 2019-02-25 21:58:29 · 636 阅读 · 0 评论 -
HDU - 1495 非常可乐 BFS
HDU - 1495 非常可乐思路:可以相互倒可乐,所以有6中方式。将每一种方式列举出来就行。但是判断是否均分时需要让容量小的杯子中没有可乐,即可乐瓶中的可乐 和 容量大的杯子中的可乐体积相同。#include<iostream>#include<cstdio>#include<cstring>#include<queue>#i...原创 2019-02-24 16:56:03 · 153 阅读 · 0 评论 -
POJ - 3414 Pots BFS + 记录并输出路径
POJ - 3414 Pots 题意:给你两个杯子的容量 和 最后杯子中剩余水的容量。有三种操作方式FILL(i) 将第 i 个杯子装满水 DROP(i) 将第 i 个杯子的水倒空 POUR(i,j) 将第 i 个杯子中的水倒入第 j 个杯子中 可能有两种情况:(1) i 杯子中的水还没全倒入 j 杯子中 j 杯子就满了,此时 i 杯子中还...原创 2019-02-24 09:47:18 · 224 阅读 · 0 评论 -
POJ - 1088 滑雪 DFS+优化
POJ - 1088 滑雪 思路:在深搜的同时,将每个点的最长长度保存下来,下次访问到这里直接使用就行,否则会超时。#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;typedef long lon...原创 2019-02-11 11:49:59 · 206 阅读 · 0 评论 -
Fire! UVA - 11624 (两个)BFS
思路人的起点只有一个,但火的起点可能有多个所以先将火的起点压入第一个队列,让他们同时 bfs 先到达的点即为最小步数(存到 s1[ ][ ] 数组中 ),只要人到达该点的步数比s1中该点的小,人就能到达该点。 一开始每搜到一个起火点就BFS一次,而且每次还要比较这一次bfs中火到达该点的步数与上一次bfs中火到达该点的步数的大小,取最小值。结果 超时了。。。#include&l...原创 2018-09-10 17:14:20 · 152 阅读 · 0 评论 -
SPFA 邻接表讲解
以 hdu2544 题为例hdu2544普通的存图方法const int maxn=10005;int head[maxn]; //head[u]表示以head为出发点的邻接表表头在数组Node中的位置,开始时所有元素初始化为-1int d[maxn]; //记录起点到个点的最短距离bool vis[maxn]; //标记数组是否进入队列int n,m,cn...原创 2018-09-12 21:59:44 · 449 阅读 · 0 评论 -
Prime Path POJ - 3126 简单 BFS
这道题没想好的方法,就是简单的改变每一位的数,一直循环到找到结果#include<iostream>#include<cstdio>#include<queue>#include<cstring>#include<algorithm>using namespace std;typedef long long ll;in...原创 2018-09-10 10:56:27 · 146 阅读 · 0 评论 -
Dungeon Master POJ - 2251 水题 BFS
这道题是一道很简单的入门搜索题,因为自己的疏忽浪费了近1个小时找错(感觉找错是一个很枯燥的过程 。。。)#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>using namespace std;int ...原创 2018-09-05 20:01:31 · 123 阅读 · 0 评论 -
[2012山东省第三届ACM大学生程序设计竞赛]——Mine Number SDUT 2410 DFS+剪枝
题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2410 数字所代表的是 上下左右与该点 五个方向的雷数量。题目会给出数字,让你确定 雷的分布图,每个数据只输出一个解。DFS,深度优先搜索。大体的思路方向是:从0,0开始往后判断,每个点是否放雷,依...转载 2019-04-11 15:40:17 · 134 阅读 · 0 评论