
搜索
文章平均质量分 74
hzasrd
这个作者很懒,什么都没留下…
展开
-
poj3278 Catch That Cow(BFS)
一道bfs题,可以通过搜索+1、-1、*2这三种情况来判断,bfs是广度搜索,当第一次n==k时,就是最小的步骤,可直接输出;这里用c++的队列来写比较方便,无奈弱暂时不会,就手动写了一个数组模拟队列的进出= =下面贴上代码:#include#include#include#include#define N 200010int n,k;int b[N],que[N],ste原创 2016-07-27 18:51:04 · 267 阅读 · 0 评论 -
poj3279 Fliptile
枚举第一行的翻转所有翻转情况然后逐行向下更新,如果上一行是1的话,那么下面一行肯定要翻转,因为只有下面一行能影响上面一行。 最后判断一下,最后一行是不是都是0,如果都是,则维护最小的翻转次数。#include#include#include#include#include#include#include#include#include#define INF 1<<30u原创 2016-10-07 17:32:13 · 225 阅读 · 0 评论 -
zzulioj1908(小火山的围棋梦想)
一道简单的搜索题。可以搜索每一个点,看这个点是否可以走到边界外,如果不可以走到,说明这个点被包围了,注意用bfs来做,(反正我用dfs超时了,不过听巨巨说他是用dfs做的,不知道怎么过了 ╮(╯▽╰)╭);#include#include#include#includeusing namespace std;char a[30][30];int b[30][30],m,n,fla原创 2016-08-10 18:01:46 · 507 阅读 · 0 评论 -
poj3126 Prime Path(BFS水)
感觉似乎是水过去了?还是说这道题太水了,写完没调试测试样例正确,提交一遍过= =思路:先素数打表,然后在进行BFS搜索,每次改变一个数字,是素数的话就加入队列中去,直到搜到最后;#include#include#include#include#include#include#include#include#define INF 1<<30#define N 10009u原创 2016-09-28 12:56:27 · 311 阅读 · 0 评论 -
uva 11624 Fire!(bfs两次)
大致题意为,人逃离迷宫,然后火也会向四周蔓延,在逃脱的过程中如果碰见火就死亡,问是否能逃离迷宫。看上去似乎很简单,两次bfs就行了,第一次先bfs一下火能到达的所有方格,并且记录一下火到达方格时的时间;然后再对人进行bfs,搜索一下人能到达的所有方格,记录到达方格的时间,然后判断一下人到达这个方格时候,火是否到达了,如果火到达了,则不能走,如果火没有到达,则可以在这个方格继续搜索。按照这个原创 2016-10-13 09:31:48 · 331 阅读 · 0 评论 -
FZU 2150 Fire Game
DescriptionFat brother and Maze are playing a kind of special (hentai) game on an N*M board (N rows, M columns). At the beginning, each grid of this board is consisting of grass or just empty an原创 2016-10-11 10:28:12 · 274 阅读 · 0 评论 -
hdu1253 胜利大逃亡(BFS)
简单的搜索题,以往做的都是二维的,这个是三维的,建好图之后按照以前的做法来就行了;#include#include#include#include#include#include#define INF 1<<30#define N 55using namespace std;int a[N][N][N],b[N][N][N];struct que{ int x,y原创 2016-09-20 13:39:20 · 293 阅读 · 0 评论 -
hdu2612 Find a way(BFS)
题意:要求Y和M到一个城市中某个KFC店所花费的时间最少,求最少时间;很简单,bfs。将Y和M能到达的各个KFC店所用的时间分别存到两个数组中,最后求出相加的最小值即可;#include#include#include#include#include#include#define INF 1<<30#define N 210using namespace std;int原创 2016-09-19 17:40:01 · 317 阅读 · 0 评论 -
lightoj1046 Rider(广搜BFS)
题意:给你一个棋盘,点代表空广场,数字K代表广场上有骑士且骑士每次能跳K步,问是否可以通过移动适当的骑士使得所有的骑士都在一个广场上,如果能,输出最小的移动次数,如果不能,输出-1;模拟加搜索。可以遍历一下棋盘上每个广场,然后让每个骑士都移动到正在遍历的广场上去,记录下所需的步骤,并更新最小步骤,注意应当用广搜来写,用深搜会超时;#include#include#include#in原创 2016-09-06 21:15:34 · 365 阅读 · 0 评论 -
Codeforces 510B. Fox And Two Dots
DescriptionFox Ciel is playing a mobile puzzle game called "Two Dots". The basic levels are played on a board of sizen × m cells, like this:Each cell contains a dot that has some color.原创 2016-08-13 22:37:15 · 289 阅读 · 0 评论 -
poj1088 滑雪(简单dp+搜索+二维最长下降子序列)
DescriptionMichael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 516 17 18 19 615 24 25 20 714原创 2016-09-10 11:03:50 · 6710 阅读 · 1 评论 -
poj1537 Robot Motion
题意很清楚,就是一道搜索的题,按照字母代表的方向走,一步步来就行了,把走过的点从0开始依次变为0、1、2、3、……,当出边或者又再次碰到相同的点时候返回;#include#include#include#includeint m,n,st,step,flag;int b[50][50],a[50][50];char s[50][50];int dfs(int x,int y){原创 2016-07-27 19:02:38 · 296 阅读 · 0 评论 -
hihoCoder 1558 H国的身份证号码I(dfs)
时间限制:10000ms单点时限:1000ms内存限制:256MB描述H国的身份证号码是一个N位的正整数(首位不能是0)。此外,由于防伪需要,一个N位正整数是合法的身份证号码当且仅当每位数字都小于等于K,并且任意相邻两位数字的乘积也小于等于K。例如对于K=5, 101、211、210等都是合法的号码,而106、123、421等都是非法的号码。给定一个正整原创 2017-08-20 15:08:17 · 887 阅读 · 2 评论