#P14885. [OOI2022预选赛long]Прибытие抵达

[OOI2022预选赛long]Прибытие抵达

题目描述

射电望远镜 RATAN-600 发现有 UFO 正在接近地球。这个 UFO 由两个相切的圆组成,两个圆半径相同,均为未知的 rr

根据初步计算,它将降落在西伯利亚针叶林中的某个区域。该区域是一个大小为 x×yx \times y 的矩形,其中生长着 nn 棵冷杉树,第 ii 棵树位于坐标点 (xi,yi)(x_i,y_i)

UFO 会以这样的方式降落:其边界上的所有点都严格位于矩形边界内部。

科学家希望知道,在不损坏任何冷杉树的前提下,UFO 的最大可能半径 rr 是多少。若一棵树严格位于组成飞船的两个圆之一的内部,则认为这棵树被损坏。

输入格式

第一行输入一个整数 tt,表示测试数据组数。

接下来依次给出每组测试数据:

第一行输入两个整数 x,yx,y,表示矩形的尺寸。

第二行输入一个整数 nn,表示冷杉树数量。

接下来 nn 行,每行输入两个整数 xi,yix_i,y_i,表示一棵树的坐标。

输出格式

对于每组测试数据,输出一个实数 rr,表示 UFO 能够降落的最大半径。

答案允许的绝对误差或相对误差不超过 10610^{-6}

数据范围

对于所有测试数据:

1t1000,1 \le t \le 1000, 2x,y10000,2 \le x,y \le 10000, 1n1000,1 \le n \le 1000, 1xix1,1 \le x_i \le x-1, 1yiy1.1 \le y_i \le y-1.

保证每组测试数据中所有冷杉树坐标互不相同。

样例

输入

4
5 3
1
2 2
5 5
3
3 2
2 3
4 4
5 10
4
3 8
2 2
3 3
4 4
4 2
1
2 1

输出

1.1715729
1.1785113
1.6270167
1.0000000

额外样例

原题中还给出了一组额外的测试与答案:

输入

1
10 10
10
1 4
2 7
3 2
5 8
6 1
6 2
6 7
7 2
7 8
8 5

输出

1.9649222

样例解释

原题中给出了第一个样例中各测试点对应的两个相切圆的位置示意图。

评分方式

测试点分为 9 组。只有通过某一组的全部测试,并通过该组依赖的必要组,才能获得该组分数。注意,部分测试组不要求通过样例组。Offline 检查表示该组结果只会在比赛结束后公布。

NN 为一个测试文件中所有测试数据的 nin_i 之和。

组别 分数 附加限制 必要组 说明
0 样例测试
1 4 ni=1, N10n_i=1,\ N \le 10
2 7 ni2, N10n_i \le 2,\ N \le 10 1
3 18 ni10, N10n_i \le 10,\ N \le 10 0–2
4 13 ni30, N30n_i \le 30,\ N \le 30 0–3
5 10 ni50, N50n_i \le 50,\ N \le 50 0–4
6 ni100, N100n_i \le 100,\ N \le 100 0–5
7 8 ni300, N300n_i \le 300,\ N \le 300 0–6
8 14 ni500, N500n_i \le 500,\ N \le 500 0–7
9 20 ni1000, N1000n_i \le 1000,\ N \le 1000 0–8 Offline 检查