广度优先搜索
11 + 17 = 28
这个作者很懒,什么都没留下…
展开
-
最省力的路径
给定一张mmm行nnn列的地图由0和1表示,0表示可以走,1表示不能走。起点坐标与终点坐标分别为(x1,y1)(x_1,y_1)(x1,y1)与(x2,y2)(x_2,y_2)(x2,y2)。以地图左上角为原点,坐标为(0,0)(0,0)(0,0)。求从起点到终点最少需要转几次弯及所对应的路径。 class Point(object): def __init__(self, x...原创 2020-02-28 02:13:21 · 106 阅读 · 0 评论 -
Dijkstra最短路径算法
Dijkstra最短路径算法本质上也是广度优先搜索。 考虑到算法的remove_smallest操作,使用最小堆提升效率。 class Point(object): def __init__(self, index, value): self.index = index self.value = value def __lt__(self,...原创 2020-02-28 01:22:59 · 102 阅读 · 0 评论 -
平分酒水
在一个容量为v1v_1v1的瓶中装满一瓶酒,还有两个容量分别为v2v_2v2与v3v_3v3的空瓶,问将容量为v1v_1v1的瓶中的酒平分最少需要几次,以及如何倒水。当v1v_1v1为奇数时,平分向下取整。(b1>b2>b12>b3b_1>b_2>\frac{b_1}{2}>b_3b1>b2>2b1>b3) class ...原创 2020-02-28 01:49:30 · 193 阅读 · 0 评论