题目名称 138. [USACO Feb08] 流星雨
输入输出 meteor.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 14
题目来源 GravatarBYVoid 于2008-10-04加入
开放分组 全部用户
提交状态
分类标签
USACO 动态规划 搜索法
分享题解
通过:125, 提交:554, 通过率:22.56%
Gravatarsyzhaoss 100 0.006 s 0.92 MiB C++
Gravatar城南花已开 100 0.008 s 1.30 MiB C++
Gravatar喵喵喵 100 0.013 s 0.51 MiB C++
Gravatarjoel 100 0.025 s 1.24 MiB C++
Gravatar金身人面兽 100 0.025 s 1.54 MiB C++
GravatarHzoi_chairman 100 0.026 s 1.54 MiB C++
Gravatar可以的. 100 0.027 s 93.24 MiB C++
Gravatar河北交通广播992大师来了 100 0.027 s 93.24 MiB C++
Gravatar帅气的背影 100 0.028 s 1.03 MiB C++
GravatarHtBest 100 0.031 s 0.38 MiB C++
本题关联比赛
20181002
关于 流星雨 的近10条评论(全部评论)
宽搜好快(不小心==写成=就W了。。。)
Gravatar城南花已开
2020-08-25 23:43 21楼
蒟蒻的深搜TE了。。。
Gravatar城南花已开
2020-08-24 07:35 20楼
只因赋值没到301
Gravatar夜莺
2020-03-03 11:42 19楼
终于对了,耶......
GravatarZooxTark➲
2020-02-29 16:35 18楼
BFS
Gravatarムラサメ
2020-02-03 16:33 17楼
一道类似的题我在UVa上竟然调试了一天,该反省了……
GravatarWHZ0325
2018-02-08 09:01 16楼
汗~~~
Gravatarwhite
2017-05-10 21:29 15楼
预处理每个格子最先被毁的时间,然后bfs的时候有条件的扩展
Gravatartraceback
2016-10-31 16:07 14楼
数组开小了,拖了 好几天,我无语了
GravatarGROWL GOOD BOYส็
2016-09-18 18:56 13楼
三维bool数组的暴力广搜竟然过了hhh
Gravataropen the window
2016-08-10 14:31 12楼

138. [USACO Feb08] 流星雨

★★   输入文件:meteor.in   输出文件:meteor.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

贝茜听说了一个骇人听闻的消息:一场流星雨即将袭击整个农场,由于流星体积过大它们无法在撞击到地面前燃烧殆尽,届时将会对它撞到的一切东西造成毁灭性的打击。很自然地,贝茜开始担心自己的安全问题。以FJ牧场中最聪明的奶牛的名誉起誓,她一定要在被流星砸到前,到达一个安全的地方(也就是说,一块不会被任何流星砸到的土地)。如果将牧场放入一个直角坐标系中,贝茜现在的位置是原点,并且,贝茜不能踏上一块被流星砸过的土地。

根据预报,一共有$M(1\leq M\leq 5\times 10^4)$颗流星会坠落在农场上,其中第$i$颗流星会在时刻$T_i(0 \leq  T_i \leq 1000)$砸在坐标为$(X_i, Y_i)(0\leq X_i,Y_i\leq 300)$的格子里。流星的力量会将它所在的格子,以及周围$4$个相邻的格子都化为焦土,当然贝茜也无法再在这些格子上行走。

贝茜在时刻$0$开始行动,它只能在第一象限中,平行于坐标轴行动,每$1$个时刻中,她能移动到相邻的(一般是$4$个)格子中的任意一个,当然目标格子要没有被烧焦才行。如果一个格子在时刻$t$被流星撞击或烧焦,那么贝茜只能在$t$之前的时刻在这个格子里出现。

请你计算一下,贝茜最少需要多少时间才能到达一个安全的格子。

【输入格式】

第一行一个整数$M$。

接下来第$2$到$M+1$行,第$i+1$行为$3$个用空格隔开的整数$X_i,Y_i,T_i$。

【输出格式】

一行一个整数,表示贝茜逃生所花的最少时间。

如果贝茜无论如何都无法在流星雨中存活下来,输出-1

【输入样例】

4
0 0 2
2 1 2
1 1 2
0 3 5

【输出样例】

5

【样例解释】

一共有$4$颗流星将坠落在农场,它们落地点的坐标分别是$(0, 0),(2, 1),(1, 1),(0, 3)$,时刻分别为$2,2,2,5$。

    t = 0                t = 2              t = 5
5|. . . . . . .     5|. . . . . . .     5|. . . . . . .    
4|. . . . . . .     4|. . . . . . .     4|# . . . . . .   * = 流星落点
3|. . . . . . .     3|. . . . . . .     3|* # . . . . .  
2|. . . . . . .     2|. # # . . . .     2|# # # . . . .   # = 行走禁区
1|. . . . . . .     1|# * * # . . .     1|# # # # . . .   
0|B . . . . . .     0|* # # . . . .     0|# # # . . . .   
  --------------      --------------      -------------- 
  0 1 2 3 4 5 6       0 1 2 3 4 5 6       0 1 2 3 4 5 6 

如果我们观察在$t=5$时的牧场,可以发现离贝茜最近的安全的格子是$(3,0)$——不过由于早第二颗流星落地时,贝茜直接跑去$(3,0)$的路线就被封死了。

离贝茜第二近的安全格子为$(4,0)$,但它的情况也跟$(3,0)$一样。再接下来的格子就是在$(0,5)-(5,0)$这条直线上。在这些格子 中,$(0,5),(1,4)$以及$(2,3)$都能在$5$个单位时间内到达。

5|. . . . . . .   
4|. . . . . . .   
3|3 4 5 . . . .    某个合法的逃生方案中
2|2 . . . . . .    贝茜每个时刻所在地点
1|1 . . . . . .   
0|0 . . . . . .   
  -------------- 
  0 1 2 3 4 5 6