2624: 【USACO2014JAN】滑雪场评级{ Gold题3}
Memory Limit:256 MB
Time Limit:5.000 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:1
Description
3. 滑雪场评级{ Gold题3}
【问题描述】
滑雪场是一个M*N(1 <= M,N <= 500)的数字矩阵表示海拔高度,每个数字表示一个范围在0 .. 1,000,000,000的高度。有些格子被指定为起点,组织者想对这些起点做难度评级。
如果起点P点是一个难度级别为D的起点,则D必须是满足以下条件的一个最小值:
(1)从一个格子只能滑到相邻的格子;
(2)这两个格子的海拔差不超过D;
(3)至少能够到达T(1 <= T <= M*N)个格子(包括起点本身)。
【文件输入】
第一行,三个用空格隔开的整数,分别表示M,N和T。
接下来2.. M+1行,每行一个N个整数,表示海拔。
接下来M+2..2M+1行,每行一个整数0或者1,其中1表示该格子是一个起点。
【文件输出】
共一行,一个整数,所有起点的难度和。
【输入样例】
3 5 10
20 21 18 99 5
19 22 20 16 17
18 17 40 60 80
1 0 0 0 0
0 0 0 0 0
0 0 0 0 1
【输出样例】
24
【样例说明】
左上角的格子是一起点,难度为4,右下角的格子是一个起点,难度为20。
HINT
主要是用最小生成树的kruskal算法,把整个图用边连接起来,边的权值等于两个点之间的高度差绝对值,然后对边进行快排,每次加入最小的一条边,当边数大于题目要求的t时,深搜整个图,此时搜到的起点的难度值即为当前加进去边的权值