流星雨
时间限制:1秒 内存限制:256M
【问题描述】
贝茜听说了一个骇人听闻的消息:一场流星雨即将袭击整个农场,由于流星体积过大,它们无法在撞击到地面前燃烧殆尽,届时将会对它撞到的一切东西造成毁灭性的打击。很自然地,贝茜开始担心自己的安全问题。直角坐标系中,贝茜现在的位置是原点,并且,贝茜不能踏上一块被流星砸过的土地。据预报,一共有 \(M\) 颗流星会坠落在农场上,其中第 \(i\) 颗流星会在时刻 \(T_i\) 砸在坐标为 \((X_i, Y_i)\) 的格子里。流星的力量会将它所在的格子,以及周围 4 个相邻的格子都化为焦土,当然贝茜也无法再在这些格子上行走。
贝茜在时刻 0 从 (0,0) 开始行动,它只能在第一象限中,平行于坐标轴行动,每 1 个时刻中,她能移动到相邻的(一般是4个)格子中的任意一个,当然目标格子要没有被烧焦才行。如果一个格子在时刻 \(t\) 被流星撞击或烧焦,那么贝茜只能在 \(t\) 之前的时刻在这个格子里出现。
【输入格式】
第 \(1\) 行: \(1\) 个正整数:\(M\)
第 \(2..M+1\) 行: 第 \(i+1\) 行为 3 个用空格隔开的整数:\(X_i,Y_i\)以及\(T_i\)
【输出格式】
输出 1 个整数,即贝茜逃生所花的最少时间。如果贝茜无论如何都无法在流星雨中存活下来,输出 -1。
【输入输出样例1】
Input
4
0 0 2
2 1 2
1 1 2
0 3 5
Output
5
【数据限制】
\(1<=M<=50,000\)
\(0 <= T_i <=1,000\)
\(0<=X_i,Y_i <= 300\)