#include<bits/stdc++.h>
using namespace std;
const double eps=1e-8;
int n;
struct node{
    double x,y;
}a[1000007];
long double find_r(long double x){
    long double r=0;
    for(int i=1;i<=n;i++){
        r=max(r,(x-a[i].x)*(x-a[i].x)/a[i].y/2+a[i].y/2);//寻找最大的半径
    }
    return r;
}
int main(){
    int flag=0,flag1=0,flag2=0;
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        scanf("%lf%lf",&a[i].x,&a[i].y);
        if(a[i].y>0&&flag1==0)
            flag1=1,flag++;
        if(a[i].y<0&&flag2==0)
            flag2=1,flag++;
        if(a[i].y<0)
            a[i].y-=2*a[i].y;
    }
    int can=0;
    if(flag==2){
        can=1;
    }
    if(can==1){
        puts("-1");
    }
    else{
        long double l=-1e7,r=1e7,lx,rx,dx;
        while(r-l>eps){//寻找最适中的圆心横坐标
            dx=(r-l)/3.0;
            lx=l+dx;
            rx=r-dx;
            if(find_r(lx)-find_r(rx)<0)
                r=rx;
            else
                l=lx;
        }
        long double x=find_r(r);
        printf("%.8lf\n",x);//Lf需用C++14及以上提交,C++11会WA
    }
    return 0;
}

Codeforces#514D(三分,简单二维几何)的更多相关文章

  1. 简单二维元胞自动机 MATLAB实现

    20世纪50年代,乌尔姆和冯·诺依曼(对此人真是崇拜的五体投地)为了研究机器人自我复制的可能性,提出了一种叫做元胞自动机(Cellular Automaton,CA)的算法.该算法采用局相互作用规则, ...

  2. Codeforces 707 E. Garlands (二维树状数组)

    题目链接:http://codeforces.com/problemset/problem/707/E 给你nxm的网格,有k条链,每条链上有len个节点,每个节点有一个值. 有q个操作,操作ask问 ...

  3. Codeforces 835C - Star sky - [二维前缀和]

    题目链接:http://codeforces.com/problemset/problem/835/C 题意: 在天空上划定一个直角坐标系,有 $n$ 颗星星,每颗星星都有坐标 $(x_i,y_i)$ ...

  4. python应用:生成简单二维码

    概述 \(\quad\)第一篇python的应用就打算写一写用python生成简单的二维码啦.因为二维码在日常生活中越来越常用了,部分博客也用二维码来用作打赏的工具.但是要提醒大家的是,千万不要乱扫街 ...

  5. jquery插件生成简单二维码

    除了利用第三方网站生成二维码外,这是一个比较简单的办法吧. <script src="/Scripts/jquery.qrcode.min.js" type="te ...

  6. js生成简单二维码

    js文件下载地址:https://download.csdn.net/download/weixin_38296752/10554485 一.引入qrcode.js文件 <script type ...

  7. Codeforces Round #439 (Div. 2) Problem E (Codeforces 869E) - 暴力 - 随机化 - 二维树状数组 - 差分

    Adieu l'ami. Koyomi is helping Oshino, an acquaintance of his, to take care of an open space around ...

  8. UVa 12304 (6个二维几何问题合集) 2D Geometry 110 in 1!

    这个题能1A纯属运气,要是WA掉,可真不知道该怎么去调了. 题意: 这是完全独立的6个子问题.代码中是根据字符串的长度来区分问题编号的. 给出三角形三点坐标,求外接圆圆心和半径. 给出三角形三点坐标, ...

  9. Codeforces 838A - Binary Blocks(二维前缀和+容斥)

    838A - Binary Blocks 思路:求一下前缀和,然后就能很快算出每一小正方块中1的个数了,0的个数等于k*k减去1的个数,两个的最小值就是要加进答案的值. 代码: #include< ...

随机推荐

  1. django 链接地址匹配流程

    前提: 代码结构 步骤一: 下面为某个网页的链接地址 <body> {% if latest_article_list %} <ul> {% for article in la ...

  2. cf 429B Working out(简单dp)

    B. Working out time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  3. hibernate 一级缓存、二级缓存

    一级缓存:——session一旦关掉就没有了.使用 load和get加载对象的时候,会自动加载到缓存,读取的也会读缓存. public void huancun(){ Session session= ...

  4. qt和makefile学习网址

    http://blog.51cto.com/zt/20/1/   ---qt学习网站 http://www.chinaunix.net/old_jh/23/408225.html  [精华] 跟我一起 ...

  5. Firefox 不知道如何打开此地址,因为协议 (javascrpit) 未和任何程序关联.

    用火狐打开出现这个错误,360没事:这个是什么原因???怎么解决?代码:<a href="javascrpit:;"onclick="showD('pas','ri ...

  6. codeforces 655A A. Amity Assessment(水题)

    题目链接: A. Amity Assessment time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  7. 详细详解One Hot编码-附代码

    机器学习算法无法直接用于数据分类.数据分类必须转换为数字才能进一步进行. 在本教程中,你将发现如何将输入或输出的序列数据转换为一种热编码,以便于你在Python中深度学习的序列分类问题中使用.本教程分 ...

  8. cocos2d-x 中 xml 文件读取

    实现类 CXmlParse 啥也不说了  直接上硬货  believe yourself   一看就明白 CXmlParse.h #ifndef __C_XML_PARSE__ #define __C ...

  9. Cannot find PHPUnit in include path (.;C:\php5\pear)

    --pear channel-discover pear.phpunit.de --pear install phpunit/PHPUnit 此时会显示: No valid packages foun ...

  10. bzoj 2001: City 城市建设 cdq

    题目 PS国是一个拥有诸多城市的大国,国王Louis为城市的交通建设可谓绞尽脑汁.Louis可以在某些城市之间修建道路,在不同的城市之间修建道路需要不同的花费.Louis希望建造最少的道路使得国内所有 ...