#P4977. 青蛙与苍蝇

青蛙与苍蝇

题目描述

猫猫是一只非同寻常的青蛙。她住在一个池塘里,有 NN 片漂浮在水面上的荷叶。这些荷叶的编号为 11NN,位置可以用一对坐标表示。猫猫可以在这些荷叶上跳来跳去,但是她害怕斜着跳和朝负方向跳。

准确的说,她可以从坐标 (x1,y1)(x_1,y_1) 跳到另一个坐标 (x2,y2)(x_2,y_2) 仅当:

  • x2>x1x_2>x_1y2=y1y_2=y_1 或者

  • y2>y1y_2>y_1x2=x1x_2=x_1

对于每一片荷叶,我们知道其附近的苍蝇数量。猫猫可以吃掉所有在她荷叶附近的苍蝇。

猫猫每吃一只苍蝇会获得 11 个单位的能量,每进行一次跳跃消耗 KK 个单位的能量。如果猫猫没有足够的能量,她就不能进行跳跃。

猫猫想通过 11 号植物到达 NN 号植物,并获得尽可能多的能量。猫猫开始时没有能量,必须通过吃掉 11 号植物附近的苍蝇来获取能量。

找到使得猫猫达到目标的一种可行路径。

输入文件 barica.in

第一行,两个整数 NNKK

接下来 NN 行,每行包含三个整数 xix_iyiy_iziz_i,表示第 ii 号荷叶的坐标为 (xi,yi)(x_i,y_i),且其附近有 ziz_i 只苍蝇。

输出文件 barica.out

第一行,输出到达终点后能量单位数量。

第二行,输出一个整数 LL,表示 Barica 需要经过的植物个数。必须包含 11 号和 NN 号植物。

6 5
1 1 5
2 1 5
1 2 4
2 3 5
3 2 30
3 3 5
5
4
8 10
1 1 15
2 2 30
1 2 8
2 1 7
3 2 8
2 3 7
4 2 100
3 3 15
36
5
9 5
5 5 10
6 5 2
7 5 1
5 6 2
6 6 6
7 6 2
5 7 1
6 7 2
7 7 1
2
3

提示

对于 30%30\% 的数据,2N5002 \le N \le 5001K151 \le K \le 15

对于 100%100\% 的数据,2N3×1052\le N\le 3\times 10^51K10001\le K\le 10000xi,yi1050\le x_i,y_i\le 10^50zi10000\le z_i\le 1000

输入数据保证有解,但不保证有唯一解。