BFS
笑对这个世界的志贵
这个作者很懒,什么都没留下…
展开
-
poj3278 Catch That Cow BFS
Catch That Cow Time Limit: 2000MS Memory Limit: 65536KB Submit Statistic Problem Description Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. H翻译 2017-02-27 21:36:27 · 240 阅读 · 0 评论 -
【BFS+保存路径】POJ 3984 迷宫问题
Problem Description 给你一个5*5的二维数组,表示一个迷宫,0可以走,1不可以走,问你从左上角到右下角,最短的路径,保证数据有唯一的解。代码:BFS从左上角跑到右下角就好了,没跑到一个点记录,是那个点到的这个点。后面翻转下路径输出就可以了#include<cstdio>#include<cstring>#include<vector>#include<queue>u翻译 2017-05-19 09:38:12 · 858 阅读 · 0 评论 -
【BFS】POJ 3126 Prime Path
Problem Description 输入T组数据,每组数据对应两个千位的素数,要你操作左边的素数变成右边的素数最少的变换(只能改变一个数字,而且变换成的数一定得是素数)次数。代码:需要注意的点就是,个位数肯定不能是偶数,千位数肯定不能是0#include<cstdio>#include<cstring>#include<queue>using namespace std;queue翻译 2017-05-19 09:53:28 · 422 阅读 · 0 评论 -
【BFS + 保存操作】POJ 3414 Pots
Problem Description 给你三个数据,分别表示两个杯子的体积,和要你装出来的体积,两个杯子可以互相倒,也可以倒掉水,也可以装满水。要你输出最少的操作步骤,包括如何操作的。代码:以前在自家OJ做过一样的题,但是那个题,不需要保存操作。。#include<cstdio>#include<algorithm>#include<cstring>#include<queue>#i翻译 2017-05-19 09:48:34 · 202 阅读 · 0 评论 -
【BFS + 保存路径】UVA - 816 Abbott's Revenge
Problem Description 给你起点,给你起点的方向,给你终点,让你求起点到终点的最短路径。它会给出很多个点,告诉你在这个点你只能怎么走,”NEWS”分别对应北东南西,也就是上右下左,”FLR”分别代表直走 左转 右转。所以假如一个路口给你 “WLF”就代表如果你进来的时候朝下,你就只能左转或者直走。代码:复杂点就多了 转弯方向的问题而已,理解了也不难。当前的方向,怎么转朝哪,都转翻译 2017-06-03 20:12:00 · 306 阅读 · 0 评论 -
【BFS && 树】UVALive - 7460 Maximum Cut Order
Problem Description 给你T,代表有T组测试数据,每组测试数据给你三个数n,s,m,n代表有n个结点1-n。s代表输出的起始点。m:代表两点之间的边权等于两点的编号相减的绝对值对m取模。让你输出序列,以s开始的序列。该序列满足距离现有的点,最大的边权点进来,如果边权一样,编号最小的点进来。思路: 建边,因为1-n个点,而且是完全二叉树的结构。我们可以根据root的儿子是r翻译 2017-08-23 14:22:15 · 198 阅读 · 0 评论 -
【bfs && 反向建边】2016-2017 ACM-ICPC, Egyptian Collegiate Programming Contest (ECPC 16) Jumping
Problem Description 输入T代表有T组测试数据,输入n代表有n个商城分别是1-n。每个商城都有一个值num,在这个商城可以直接跳到i-num的商城 or i+num的商城。问你每个商城到n这个商城最少需要跳几次,如果不能到输出-1。思路: 看到这个题第一反应想到的是记忆化搜索,因为求的一个商城的最少跳跃距离,就可以用数组保存起来,下次在访问到直接返回值就可以了。也许是个人翻译 2017-10-03 15:55:57 · 402 阅读 · 0 评论 -
【bfs && 如何想到bfs】2014 Benelux Algorithm B - Button Bashing
Problem Description 输入T,代表有T组测试数据。每组测试数据输入n, t代表有n个按钮,煮好食物需要t秒以上。接下来n个数,代表每个按钮能够增加烹饪的时间。问你煮好食物至少需要按多少次按钮,至少超出几秒。优先接近t秒,秒数一样,再考虑按钮次数少的。思路: 一开始也有思考到bfs, 第一反应认为状态太多,是不是应该有目的性搜索,敲个A*,但是自己A*不稳,没敲过几次。所以翻译 2017-10-10 20:43:06 · 259 阅读 · 0 评论 -
【BFS && 状态压缩】Gym - 101572D Distinctive Character
Step1 Problem: 给你n行,k位的 只包含’0’,’1’的字符串。 输出一个只包含’0’,’1’的字符串,和这些源串各个位不同个数最少的串要求各个位不同个数尽可能的多(多个解输出任意一个即可) 数据范围: 1<=n<=1e5, 1<=k<=20Step2 Involving algorithms: BFS &&am...翻译 2018-04-07 11:06:00 · 219 阅读 · 0 评论 -
【BFS】HDU 1241 Oil Deposits
Problem Description 输入一个n*m的矩阵,@代表油田,*代表空地.斜上斜下上下左右有油田都算一堆,问你有多少堆油田.代码: 记录下所有油田的下标,对于每个油田跑BFS就好了#include<bits/stdc++.h>using namespace std;struct node{ int u, v;};char Map[150][150];int vi翻译 2017-05-19 09:32:20 · 183 阅读 · 0 评论 -
【BFS】HDU 1495 非常可乐
Problem Description 给你一瓶S体积的可乐,N和M容量的杯子,他们可以互相倒,问你能不能平分这瓶可乐,能的话,输出需要倒多少次,不能的话,输出NO.代码: 就是情况多了点而已#include<bits/stdc++.h>using namespace std;struct node{ int sum, u, v;};queue<node> q;int s,翻译 2017-05-19 09:24:15 · 226 阅读 · 0 评论 -
【BFS】POJ 3087 Shuffle'm Up
Problem Description 给你T组数据,每组数据,输入一个n, 代表两幅扑克的数量,输入两幅扑克对应的字母,字母不同代表颜色不同,再输入一行,代表两个扑克混合在一起的结果。问你洗牌(交叉混合,第二幅扑克先在下)洗几次可以得到混合的扑克代码:一开始没理解好题目,以为那一副扑克在下面都可以,就分了两种情况,发现得不到样例的结果,后面发现是按一种情况洗牌而已#include<cstdi翻译 2017-05-19 09:15:07 · 226 阅读 · 0 评论 -
六度空间 天梯训练赛
5-13 六度空间 (30分) “六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”。 “六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努力追求的目标翻译 2017-02-24 19:30:47 · 624 阅读 · 1 评论 -
SDUT 2779 找朋友 BFS
题目链接:http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Contest/contestproblem/cid/2012/pid/2779 找朋友 Time Limit: 1000MS Memory Limit: 65536KB Problem Description X,作为户外运动的忠实爱好者,总是不想呆在家里。现在,他想把死宅Y从翻译 2017-02-24 19:54:07 · 289 阅读 · 0 评论 -
SDUT 2780 Pots BFS
Pots Time Limit: 1000MS Memory Limit: 65536KB Problem Description You are given two pots, having the volume of A and B liters respectively. The following operations can be performed: FILL(i)翻译 2017-02-24 21:21:07 · 294 阅读 · 0 评论 -
pta 5-2 喊山 (30分)
5-2 喊山 (30分) 喊山,是人双手围在嘴边成喇叭状,对着远方高山发出“喂—喂喂—喂喂喂……”的呼唤。呼唤声通过空气的传递,回荡于深谷之间,传送到人们耳中,发出约定俗成的“讯号”,达到声讯传递交流的目的。原来它是彝族先民用来求援呼救的“讯号”,慢慢地人们在生活实践中发现了它的实用价值,便把它作为一种交流工具世代传袭使用。 一个山头呼喊的声音可以被临近的山头同时听到。题目假设每个翻译 2017-03-30 08:25:01 · 2241 阅读 · 0 评论 -
POJ - 2251 Dungeon Master BFS
Problem Description>You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of unit cubes which may or may not be filled with rock. It takes one minute to move on翻译 2017-04-24 21:08:16 · 188 阅读 · 0 评论 -
【BFS】HDU 2612 Find a way
Problem Description 给你一个n,m的矩阵,里面有Y.#@M分别代表小明家,路,墙,KFC,小红家。问你那个KFC使得到两个人家距离最近代码:一开始,先找@,BFS每个@找到Y,M求和,发现超时,换了一种方法,先找Y,M分别BFS这两个,找到距离所有的KFC的距离。后面暴力求最小(每一步11分钟)#include<algorithm>#include<cstdio>#in翻译 2017-05-15 21:55:59 · 193 阅读 · 0 评论 -
【BFS】FZU 2150 Fire Game
Problem Description 给你T组数据,给你一个n,m的矩阵,.#分别代表空地,草丛。让你找两个草丛,开始烧,要求把所有的草都烧完,所需要最少的时间。烧一个草可以向上下左右扩散,扩散时间+1.代码:找到所有草地下标。两两遍历所有的草丛,求出最小#include<cstdio>#include<queue>#include<algorithm>#include<cstring翻译 2017-05-15 22:05:02 · 204 阅读 · 0 评论 -
【BFS 康拓 A*】HDU - 1043 Eight
Problem Description 给你一个3*3的数组,让你变为1 2 3 4 5 6 7 8 x,x只能上下左右和旁边的交换位置,让你求出操作步骤。**代码:正常想法就是正常的BFS,BFS肯定要记录状态,标记状态,用正常的方法记录这个数组的状态,很大。所以用康拓展开(枚举全排列,九个数362880种情况),知道如何记录状态了,但是如果正常的BFS跑,情况太多,肯定会超时,所以得有目的翻译 2017-05-27 10:04:34 · 333 阅读 · 0 评论 -
【状态压缩&&bfs】HDU - 5094
Step1 Problem: 有一个你n*m的地图,里面有p种类型的门。 p == 0的时候,该门是打不开的。 p != 0的时候,该门需要p这把钥匙打开。 告诉你哪些点移动到哪些点,有门。 告诉你哪些点有钥匙。 问你从(1, 1) 走到 (n, n) 最少需要走多少步(一个点 可以 走上下左右四个方向)。 例: 输入: 4 4 9 9...翻译 2018-05-02 11:32:42 · 273 阅读 · 1 评论