BFS
irvix
Sacrifice what we want now for what we want eventually.
展开
-
POJ3894迷宫问题 BFS+stack输出最短路径
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <cstdlib>#include <string>#include <map原创 2018-12-02 16:41:20 · 244 阅读 · 0 评论 -
计蒜客习题 蒜头君回家 BFS
第一次WA是因为仅仅想到模拟拿到钥匙后就从第一个钥匙的地方从零开始搜索,没有考虑到可能第一个钥匙的地方可能刚好和出口背道而驰,反而多走了几步路。那么就再开一维的空间,同时注意结构体里也要再加个flag标记,像一群蚂蚁一样地搜索。注意下边这个样例:30 30..##..#.##.....#...#.#..##.##...#.P#P..#......PP.##....#P#.....原创 2018-12-02 16:39:17 · 411 阅读 · 0 评论 -
HDUoj 1495非常可乐 三维BFS
拉了个搜索专题,这是第一道题。虽然之前就见过,可一直没有思路,这次重新写,终于AC。思路就是把这个问题模型转换成三维坐标中的点,倒可乐就是坐标的变换,只要坐标满足条件即是可乐平分成功。可乐奇数直接NO,然后广搜,广搜里的两层for也是一个技巧#include <iostream>#include <cstdio>#include <cstring...原创 2018-12-02 16:45:10 · 224 阅读 · 0 评论 -
POJ3414 pots 倒水问题 BFS
简单bfs,只是添加了个回溯,由于不像迷宫那样可以简单的记录每一个格子的上一步操作来回溯(这种更复杂和抽象一些:如果开个pair二维数组存入该点上一步,则需要再写一个函数来对应6种变换。如果用int记录6种变化,但不能方便地直接通过这个变换,而且如果该点由步骤pour(1,2 )走来,那上一步可能有多种情况,难以反推上一步的坐标,甚至根本无法反推)鉴于数据量也不大,就在每个点上都记录下所...原创 2018-12-02 16:47:25 · 161 阅读 · 0 评论