随笔分类 - 算法——bfs
摘要:题目 给你三个容量分别为 $a,b,c$ 的杯子,最初只有第3个杯子装满了水,其他两个杯子为空。最少需要到多少水才能让一个某个杯子中的水有 $d$ 升呢?如果无法做到恰好 $d$ 升,就让某个杯子里的水是 ${d}'$ 升,其中 ${d}' < d$ 并且尽量接近 $d$。($1 \leq a,b,
阅读全文
摘要:题目 原题链接:https://www.nowcoder.com/acm/contest/106/L 在100000 * 10000的空地上,有n个时间点,每个时间点会在(xi,yi)上种一棵树。 定义绿色:被树包围的空地的个数。 问每个时间点之后绿色为多少。如图: 思路 逆向求解,从(0,0)位置
阅读全文
摘要:题目 给n个点m条边(2 ≤ n ≤ 100000,1 ≤ m ≤ 200000)的无向图,每条边上都涂有一种颜色。求从结点1到结点n的一条路径,使得经过的边数尽量的少,在此前提下,经过边的颜色序列的字典序最小。一对结点间可能有多条边,一条边可能连接两个相同的结点。输入保证结点1可以到达结点n。颜色
阅读全文
摘要:一、题目(POJ 3984) 给出一个只有0和1组成的5x5的矩阵表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。 二、解题思路 迷宫问题中的最短路多用BFS,由于要输出最短路,一般可以在更新时保存前驱节点,这里使用DFS从
阅读全文
摘要:八数码问题是一个经典的人工智能问题。具体问题不累述了。 思路:由于存在多组测试数据,可以考虑“打表法“。所谓打表法,即枚举所有的初始情况,记录其到达终点的路径。而在这个题目中,顺序打表会调用很多次BFS,所以我们采用逆序打表,只要调用一次BFS。 代码如下: 当然,这一题还有很多很好的方法,我会慢慢
阅读全文