AT_s8pc_5_b.Emblem

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

在一个坐标平面上有 NN 个给定的圆心和半径的圆,和 MM 个给定圆心但不给定半径的圆,请问如何设置这 MM 个圆的半径,使得这些圆中没有两两相交或内含的两个圆。求出所有方法中,半径最小的圆的半径的最大值。

输入格式

第 11 行,两个整数 N,MN,M 用空格隔开。

第 2∼N+12\sim N+1 行,每行三个整数 xi,yi,rix_i,y_i,r_i 表示给定圆的圆心坐标和半径。(i=1,2,⋯ ,Ni=1,2,\cdots,N)

第 N+2∼N+M+1N+2\sim N+M+1 行,每行两个整数 xi,yix_i,y_i 表示没给定半径的圆的圆心坐标。(i=N+1,N+2,⋯ ,N+Mi=N+1,N+2,\cdots,N+M)

输出格式

一个浮点数表示答案,误差不超过 10−610^{-6} 可以判为正确。

样例解释

对于样例 #1:

将这两个圆的半径设置为 172\dfrac{\sqrt{17}}{2} 满足题意,使得最小的圆的半径最大。

对于样例 #2:

对于样例 #3:

没有没给定半径的圆,则半径最小的圆一定是给定圆中半径最小的,最小值一定为 22。

对于样例 #4:

可以设置半径为 35−53\sqrt{5}-5。

输入输出样例

  • 输入#1

    0 2
    6 3
    2 4

    输出#1

    2.061552812808830
  • 输入#2

    0 5
    8 6
    9 1
    2 0
    1 0
    0 1

    输出#2

    0.500000000000000
  • 输入#3

    3 0
    5 2 3
    -1 0 2
    2 -6 4

    输出#3

    2.000000000000000
  • 输入#4

    1 1
    0 0 5
    6 -3

    输出#4

    1.708203932499369

说明/提示

  • N,M∈[0,100]N,M\in[0,100]。
  • N+M≥2N+M\ge 2。
  • xi,yi∈[−100,100]x_i,y_i\in[-100,100]。(1≤i≤N+M1\le i\le N+M)
  • ri∈[1,100]r_i\in[1,100]。(1≤i≤N1\le i\le N)
  • ∀i,j∈[1,N+M]\forall i,j\in[1,N+M] 且 i≠ji\neq j 满足 (xi,yi)≠(xj,yj)(x_i,y_i)\neq(x_j,y_j)。
  • ∀i,j∈[1,N]\forall i,j\in[1,N] 且 i≠ji\neq j 满足第 ii 个圆与第 jj 个圆不相交或内含。
  • ∀i∈[1,N],j∈[N+1,M]\forall i\in[1,N],j\in[N+1,M] 满足 (xj,yj)(x_j,y_j) 不在第 ii 个圆上。

输入解题思路,AI测评打分。不知道怎么写?

首页