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、最后更新时间


POJ3669解题报告(bfs)的更多相关文章
- POJ 3126 Prime Path 解题报告(BFS & 双向BFS)
题目大意:给定一个4位素数,一个目标4位素数.每次变换一位,保证变换后依然是素数,求变换到目标素数的最小步数. 解题报告:直接用最短路. 枚举1000-10000所有素数,如果素数A交换一位可以得到素 ...
- 北邮新生排位赛1解题报告d-e
话说cdsn要是前面插入源代码又什么都不放就会出现奇怪的源代码?不知道是哪个网页的 407. BLOCKS 时间限制 1000 ms 内存限制 65536 KB 题目描述 给定一个N∗M的矩阵,求问里 ...
- 洛谷_Cx的故事_解题报告_第四题70
1.并查集求最小生成树 Code: #include <stdio.h> #include <stdlib.h> struct node { long x,y,c; ...
- 2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告
2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告 勘误1:第6题第4个 if最后一个条件粗心写错了,答案应为1580. 条件应为abs(a[3]-a[7])!=1,宝宝心理苦啊.!感谢zzh ...
- poj分类解题报告索引
图论 图论解题报告索引 DFS poj1321 - 棋盘问题 poj1416 - Shredding Company poj2676 - Sudoku poj2488 - A Knight's Jou ...
- 【解题报告】洛谷 P1231 教辅的组成
[解题报告]洛谷 P1231 教辅的组成 题目链接 CSDN链接 这道题就只是一道普通的最大流问题,但是关键所在就是如何构图.要不是我看了题解,真的想不到这个构图方法呢 题目大意我就不写了,自己看好了 ...
- 【解题报告】 Leapin' Lizards HDU 2732 网络流
[解题报告] Leapin' Lizards HDU 2732 网络流 题外话 在正式讲这个题目之前我想先说几件事 1. 如果大家要做网络流的题目,我在网上看到一个家伙,他那里列出了一堆网络流的题目, ...
- 2014-03-01 春季PAT 1073-1076解题报告
今天下午的PAT考试状态不理想,回来怒刷了一遍,解题报告如下: 1073. Scientific Notation (20) 基本模拟题,将一长串的科学计数转换为普通的数字表示方式.思路是是数组存储输 ...
- 【LeetCode】01 Matrix 解题报告
[LeetCode]01 Matrix 解题报告 标签(空格分隔): LeetCode 题目地址:https://leetcode.com/problems/01-matrix/#/descripti ...
随机推荐
- Python 爬虫-Scrapy框架基本使用
2017-08-01 22:39:50 一.Scrapy爬虫的基本命令 Scrapy是为持续运行设计的专业爬虫框架,提供操作的Scrapy命令行. Scrapy命令行格式 Scrapy常用命令 采用 ...
- 一个表单里,如果有<button>标签存在,它会自动提交表单
可以用button代替input type=”submit”吗? 在ie下,<button>标记恐怕还存在几个不大不小的问题. 在一个表单里,如果有一个以上"submit&quo ...
- [转] jquery $.ajax/$(document).ready is not a function的问题
下午完成了一个模块功能的开发,本来测试好的jquery表单验证怎么也出不来了.打开firebug,看到控制台里赫然提示:$(document).ready is not a function.感觉怪怪 ...
- Oracle解析复杂json的方法(转)
转:Oracle解析复杂json的方法 问题背景: 当前在Oracle数据库(11G之前的版本)解析json没有可以直接使用的系统方法,网上流传的PLSQL脚本大多也只可以解析结构较单一的json串, ...
- 41. First Missing Positive *HARD*
Given an unsorted integer array, find the first missing positive integer. For example,Given [1,2,0] ...
- stimulsoft report工具—— 简单的多表连接打印报表例子
一.用报表工具打印多个表格信息(包括学生表.教师表.班级表) 1.准备打印的数据(用sqlserver) 1)班级表
- 面试题2:单例模式Singleton
首先,单例模式使类在程序生命周期的任何时刻都只有一个实例, 然后,单例的构造函数是私有的,外部程序如果想要访问这个单例类的话, 必须通过 getInstance()来请求(注意是请求)得到这个单例类的 ...
- (C/C++学习笔记) 九. 变量的存储类型
九. 变量的存储类型 ● 变量的存储类型(见附页) ● 注释 ①对于自动变量,它属于动态存储方式. 但是也可以用static定义它为静态自动变量,或称静态局部变量,从而成为静态存储方式.由此看来,一个 ...
- 使用Query进行HQL语句查询和SQL语句查询
HQL的语法比较简单,与普通SQL的区别之处是针对对象的不同,在查询语句中将sql中的表名替换成了sql中的持久化类名,因为hibernate机制是基于对象进行查询的. 不带参数的查询,语句是“fro ...
- 关闭所有的screen
由于开了很多个screen同时工作,关闭是一个一个比较麻烦,写个命令在这以便日后想不起来时可以用到.1.先看看有多少个screen screen -ls |awk '/Socket/'|awk '{p ...