zoukankan      html  css  js  c++  java
  • POJ3669解题报告(bfs)

    POJ3669http://poj.org/problem?id=3669

    很明显是一道bfs的题目

    由于陨石的降临具有时刻性,所以地图是随时间变化的,

    所以可以使用结构体来存储陨石下落的时刻以及位置以便更新地图然后预处理出安全位置(把会被轰炸的区域设置为2,把不会被轰炸的区域设置为1)

    由于陨石的轰炸不具有蔓延性(如果是火灾的蔓延则具有蔓延性),所以可以直接利用for循环更新地图,而人的移动具有蔓延性(即多方向延伸),所以需要用队列靠bfs更新)

    接下来就是bfs操作

    1、先把起点放进队列que,

    2、然后在bfs中用一个while(!que.empty)来维持搜索

    3、然后先通过时间判断是否开始轰炸更新地图(把轰炸区域设置为0),

    4、在引入时间轴之后,为了在时间更新之前,把每一步的操作全部遍历,引入que.size()

    5、再通过que.front();que.pop()读取并更新队列元素,并把合法的点(非“0”点)加入到队列,

    6、此时别忘了把放入队列的点也设置为0,从而避免走回头路,

    7、最后更新时间

  • 相关阅读:
    contest9 CF295 div1 ooxx? ooox? oooo?
    The 8KB bug
    简单消息框架
    示例页面
    Unity3d中角色模型和角色名字保持相对位置
    Unityd外发光Shader Lab
    Unity3D判断当前所在平台
    Unity3D中的shader基础知识
    Sql Server 分区
    MVC 使用缓存
  • 原文地址:https://www.cnblogs.com/MekakuCityActor/p/8366487.html
Copyright © 2011-2022 走看看