【和小安一起刷题】POJ3669 Meteor Shower ----广度优先搜索(BFS)

01、题目描述

小伙伴们大家好,这里是和 【和小安一起刷题 】 系列栏目,今天我们要解决的是一道广搜题目——POJ3669 Meteor Shower。在解决题目前,你需要知道BFS的基本框架C++< queue >库的简单使用

题目链接: POJ3669 Meteor Shower.
题目描述:一场流星雨即将袭来,流星会对每个击中的地方以及其周围(上下左右四格)造成破坏。小明开始时位于(0, 0)位置,准备逃到一处不会被袭击到的地方(小明只能在第一象限内移动)。已知每移动1个单位长度需要1个时间单位,被流星破坏后的地方不能再进入。给出M个流星在T时刻击中的地方(X, Y),问小明能否逃到安全的地方,若能,则输出最短时间,不能则输出-1。
示例输入:

4 //流星个数
0 0 2 //流星位置和时间,位置为(0,0),时间为2
1 2 1
1 1 2
0 3 5

示例输出:

5

02、解题思路

很明显,这是一道最短路的问题,直接想到要用BFS。因为本题没有直接给出我们想要的地图,所以需要我们自己设计地图,直接用一个map二位数组存储地图,每一位置上存储流星破坏这个位置的最早时间,map存储好后,就可以直接开始BFS了。本题有几个需要注意的地方,一是map数组可以开大一点,开到305,因为小明可能要一直走到302的位置才安全,二是一定不能走回头路,本题数据量偏大,不剪枝的话容易TEL。

没有地图
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值