牛吃草

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 441  Solved: 139

Description

农夫有一个长满草的(x0, y0)为圆心,r为半径的圆形牛栏,他要将一头牛栓在坐标(x1, y1)栏桩上,但只让牛吃到一半草,问栓牛鼻的绳子应为多长?

Input

输入一个T,表示T组测试数据
下面T行每行五个整数 x0, y0, x1, y1, r 所有数据的绝对值小于1e5

Output

每组测试数据输出绳子长度,保留4位小数

Sample Input

2
0 0 0 0 2
0 0 10 10 2

Sample Output

1.4142
14.1892
先计算公共面积,然后直接二分。
#include "cstdio"
#include "algorithm"
#include "cstring"
#include "cmath"
#define  inf 0x3f3f3f
using  namespace std;
);
double s0,s1,s2,s3,s4,d;
double  x0,x1,e,f,r;
int P(double l ){
    *d*r));
    *l*d));
    s0=r*r*a1+l*l*a2-d*r*sin(a1);//相交面积
    s4=pi*r*r/;
    if(s0>s4){
        ;
    }
    ;
}
int main(){
    int t;
    scanf("%d",&t);
    while (t--){
        scanf("%lf%lf%lf%lf%lf",&x0,&e,&x1,&f,&r);
        d=sqrt((x0-x1)*(x0-x1)+(e-f)*(e-f));
        -sqrt()/)){//判断内含情况
            printf()/);
            continue;
        }
        double R=sqrt(r*r+d*d);
        ;
        ;
        ;i<;i++){
            ){
                R=M;
            }
            else {
                L=M;
            }
            M=(L+R)/;
        }
        printf("%.4f\n",M);
    }
    ;
}

zstuoj 4243的更多相关文章

  1. zstuoj 4243 牛吃草 ——(二分+两圆交)

    这题上次补了以后忘记写博客了,现在补一下. 有两个注意点,第一是两圆相交的模板.可以通过任意一种情况手推出来. 第二是,实数二分要注意不用ans记录为妙,因为可能因为eps过小,导致ans无法进入记录 ...

  2. zstuoj 4245 KI的斐波那契

    KI的斐波那契 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 550  Solved: 208 Description KI十分喜欢美丽而优雅的斐波那 ...

  3. zstuoj 4423: panda和卡片

    传送门:http://oj.acm.zstu.edu.cn/JudgeOnline/problem.php?id=4423 题意: 给定许多数字,这些数字都是2的倍数,问可以用这些数字组成多少个数字. ...

  4. 通用js地址选择器

    用js实现通用的地址选择器,省份,城市,地区自动关联更新 点击下面查看详细代码: http://runjs.cn/code/s8sqkhcv 关键地址库代码: var addr_arr = new A ...

  5. Docker学习笔记

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  6. 在MAC服务器上搭建docker-registry(转)

    在MAC服务器上搭建docker-registry 2014-03-14      0个评论    来源:在MAC服务器上搭建docker-registry   收藏    我要投稿 本文介绍如何在M ...

  7. cod-hw

    COD hw 4 Xinglu Wang 3140102282 2016-12-27 21:28:01 COD hw 45.35.3.15.3.35.3.45.3.55.3.65.45.4.15.4. ...

  8. 天气预报API(二):全球城市、景点代码列表(“旧编码”)

    说明 2016-12-10 补充 (后来)偶然发现中国天气网已经有城市ID列表的网页...还发现城市编码有两种,暂且称中国天气网这些编码为旧标准"旧编码"的特征是 9个字符长度; ...

  9. ASN.1编码

    来自几年前本人写的一篇博客 http://blog.csdn.net/newyf_cun/article/details/13016069 如下使用libtasn1分析asn1的编码规则. http: ...

随机推荐

  1. EasyUi之datagird解读

    1.其json格式需要为:  JSON Code  1234567891011121314151617181920212223   {     ,     "rows": [    ...

  2. HDU 2859 Phalanx

    简单二维dp.o(n^3)效率过的.不知道有没有o(n^2)的解法. 为了方便点,先左右交换一下. dp[i][j]表示以[i,j]为左上角的最大对称矩阵长度 那么dp[i][j]=min(Max,d ...

  3. POJ 3187 Backward Digit Sums

    暴力DFS+验证. 验证如果是暴力检验可能复杂度会太高,事实上可以o(1)进行,这个可以o(n*n)dp预处理. #include<cstdio> #include<cstring& ...

  4. Ural Vol1(dif>=900)

    目前已AC:  2 1040.Airline Company(构造) 题目要求与每个顶点相连的所有边编号最大公约数为1,其实只要其中的两条边编号互质,所有边编号的最大公约数一定为1.我们知道相邻的数字 ...

  5. git 常用命令--Linus Torvalds

    1.git log 显示仓库的历史记录,默认显示所有记录, 1)git log -m,显示最近的几次提交,, 2)git log --pretty=oneline  显示提交hash和注释 -p 按补 ...

  6. STM32中的位带(bit-band)操作(转)

    源:STM32中的位带(bit-band)操作 支持了位带操作后,可以使用普通的加载/存储指令来对单一的比特进行读写.在 CM3 中,有两个区中实现了位带.其中一个是 SRAM 区的最低 1MB 范围 ...

  7. jquery弹窗插件

    .zhuti { position:absolute; z-index:; font-size:14px; border-radius:5px; box-shadow: 5px white; over ...

  8. 普通项目如何转换成Maven项目 --转载自百度知道

    右键普通Java项目,在弹出的菜单中选择[Configure]-[Convert to Maven Project]: 2 在弹出的对话框中输入项目的groupId, artifactId和versi ...

  9. java 环境变量 windows(Java之负基础实战)

    1.已经安装了JDK 添加系统变量 1.1.添加JAVA_HOME jdk路径,例如:C:\Program Files\Java\jdk1.8.0_65 1.2. PATH 添加内容 %JAVA_HO ...

  10. 5分钟了解MySQL5.7的Online DDL雷区

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://suifu.blog.51cto.com/9167728/1855872 Part ...