题目描述
在平面直角坐标系中,如果一个点P的坐标(x,y)均为整数,则称P为整点。所有整点的集合记为W。
定义1
对于两个整点P1(x1,y1)和P2(x2,y2),如果∣x1−x2∣+∣y1−y2∣=1,则称P1和P2相邻,记作P1∼P2;否则称P1和P2不相邻。
定义2
设S是W的一个有限子集,即S={P1,P2,…,Pn}(n≥1),其中每个Pi(1≤i≤n)属于W,则称S为一个整点集。
定义3
设S是一个整点集,如果点R,T∈S,并且存在一个有限的点序列Q1,Q2,…,Qk满足:
- Qi∈S(1≤i≤k);
- Q1=R,Qk=T;
- Qi∼Qi+1(1≤i≤k−1),即Qi与Qi+1相邻;
- 对于任意1≤i<j≤k,有Qi=Qj;
则称R与T在S上连通,并将点序列Q1,Q2,…,Qk称为S中连接R和T的一条道路。
定义4
如果一个整点集V满足:对于V中的任意两个整点,V中有且仅有一条连接它们的道路,则称V为单整点集。
定义5
对于平面上的每个整点,可以赋予它一个整数作为该点的权值。整点集S中所有点的权值之和称为S的权和。
问题描述
给定一个单整点集V,求V的一个最优连通子集B,满足:
- B⊆V;
- 对于B中的任意两个整点,它们在B中连通;
- B是所有满足条件(1)和(2)的整点集中权和最大的。
输入格式
- 第1行是一个整数N(2≤N≤1000),表示单整点集V中点的个数;
- 接下来的N行,每行包含三个整数Xi,Yi,Ci,分别表示第i个点的横坐标、纵坐标和权值。同一行相邻两数之间用空格分隔。
坐标范围:−106≤Xi,Yi≤106;
权值范围:−100≤Ci≤100。
输出格式
示例输入
5
0 0 -2
0 1 1
1 0 1
0 -1 1
-1 0 1
示例输出
2
题目来源
Noi 99