度度熊有一个大小为 MX×MY M X × M Y 的矩形,左下角坐标为 (0,0) ( 0 , 0 ) ,右上角坐标为 (MX,MY) ( M X , M Y ) 。此矩形内有 N 个整数坐标的点 (xi,yi) ( x i , y i ) , xi x i 彼此不重复, yi y i 彼此也不重复。
现在要从每一个点画出一条线段,满足下列条件:
现在要让画出的线段的长度总和最小,请输出这个最小的长度总和值。
输入的第一行有一个正整数 T,代表接下来有几笔测试资料。
对于每笔测试资料: 第一行有三个整数 MX, MY 以及 N。 接下来的 N 行每行有两个正整数 xi x i 及 yi y i 。
2≤MX,MY≤106 2 ≤ M X , M Y ≤ 10 6
0≤N≤105 0 ≤ N ≤ 10 5
如果 i≠j i ≠ j ,则保证 xi≠xj x i ≠ x j 及 yi≠yj y i ≠ y j
0<xi<MX 0 < x i < M X
0<yi<MY 0 < y i < M Y
1≤T≤20 1 ≤ T ≤ 20
至多 22 笔测试资料中的 N>1000 N > 1000
对于每一笔测试资料,请依序各自在一行内输出一个整数,代表可能的最小长度和。
2
4 4 1
2 2
10 7 3
6 3
2 6
9 5
2
5
此题为一道大水题。首先因为对于 i≠j i ≠ j 保证 xi≠xj x i ≠ x j 及 yi≠yj y i ≠ y j ,这就说明每个点是在不同行不同列的,换句话说就是每一行每一列只有一个点,这就很好的证明了不会有重合的情况,仔细思考我们其实可也发现其实相交的情况也不存在。因为假设一个点,它到与它最近的边界连了一条边,如果有一条边要和它相交,即不连到当前这个点最近的边界,那么这个点一定比当前的点离它最近的边界还要近,那么其实这个点要连到的是当前这个点的边界而不是其他的边界,这与题设矛盾,所以不会存在相交的情况。那么我们直接取这个点到四个边界的最小值就好了。
作者:zsjzliziyang
QQ:1634151125
转载及修改请注明
本文地址:https://blog.csdn.net/zsjzliziyang/article/details/81607215