题意:三角形ABC的内切圆把它的三边分别划分成 m1:n1,m2:n2 和 m3:n3 的比例。另外已知内切圆的半径 r ,求三角形ABC 的面积。

#include<iostream>
#include<iomanip>
#include<algorithm>
#include<cmath>
#define sqr(a) (a)*(a)
#define eps 1e-12
#define min(a,b) a<b?a:b
#define max(a,b) a>b?a:b
#define pi asin(1.0) using namespace std; int sig(double a)
{
return (a>eps)-(a<-eps);
} int main()
{
int t;
double r,m1,n1,m2,n2,m3,n3,k1,k2,k3;
double left,right,mid,thy,th1,th2,th3;
cin>>t;
while(t--)
{
cin>>r>>m1>>n1>>m2>>n2>>m3>>n3;
k1=sqr(n1);
k2=sqr(n2/m2)*k1;
k3=sqr(m1);
left=min(sqrt(3/k1)*r,sqrt(3/k2)*r);
left=min(left,sqrt(3/k3)*r);
right=max(sqrt(3/k1)*r,sqrt(3/k2)*r);
right=max(right,sqrt(3/k3)*r);
mid=(left+right)/2;
while(sig(right-left)>0)
{
th1=r/sqrt(k1*sqr(mid)+sqr(r));
th2=r/sqrt(k2*sqr(mid)+sqr(r));
th3=r/sqrt(k3*sqr(mid)+sqr(r));
thy=asin(th1)+asin(th2)+asin(th3);
int f=sig(thy-pi);
if(f==0) break;
else if(f<0) right=mid;
else left=mid;
mid=(left+right)/2;
}
thy=2*asin(r/sqrt(k1*sqr(mid)+sqr(r)));
double area=(n1+m1)*mid/2*(n2+m2)*n1/m2*mid*sin(thy);
cout<<fixed<<setprecision(4)<<area<<endl;
}
return 0;
}

uva 11524 - InCircle (二分法)的更多相关文章

  1. UVa 11524:In-Circle(解析几何)

    Problem EIn-CircleInput: Standard Input Output: Standard Output In-circle of a triangle is the circl ...

  2. UVa 11524 - InCircle

    推公式 #include <cstdio> #include <cmath> double Cal( double a, double b, double c ) { retu ...

  3. ACM计算几何题目推荐

    //第一期 计算几何题的特点与做题要领: 1.大部分不会很难,少部分题目思路很巧妙 2.做计算几何题目,模板很重要,模板必须高度可靠. 3.要注意代码的组织,因为计算几何的题目很容易上两百行代码,里面 ...

  4. UVA 3890 Most Distant Point from the Sea(二分法+半平面交)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=11358 [思路] 二分法+半平面交 二分与海边的的距离,由法向量可 ...

  5. uva 714 Copying Books(二分法求最大值最小化)

    题目连接:714 - Copying Books 题目大意:将一个个数为n的序列分割成m份,要求这m份中的每份中值(该份中的元素和)最大值最小, 输出切割方式,有多种情况输出使得越前面越小的情况. 解 ...

  6. uVa 714 (二分法)

    Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu   Description   Before th ...

  7. UVA 12097 LA 3635 Pie(二分法)

    Pie My birthday is coming up and traditionally I'm serving pie. Not just one pie, no, I have a numbe ...

  8. uva live 6190 Beautiful Spacing (二分法+dp试 基于优化的独特性质)

    I - Beautiful Spacing Time Limit:8000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu ...

  9. UVA 10668 - Expanding Rods(数学+二分)

    UVA 10668 - Expanding Rods 题目链接 题意:给定一个铁棒,如图中加热会变成一段圆弧,长度为L′=(1+nc)l,问这时和原来位置的高度之差 思路:画一下图能够非常easy推出 ...

随机推荐

  1. html中隐藏域hidden的作用

    基本语法: <input type="hidden" name="field_name" value="value"> 作用: ...

  2. Unity position和localposition

    1. position是根据世界原点为中心 2. localPosition是根据父节点为中心,如果没有父节点,localpositon和position是没有区别的 3.选中一个物体左上角Globa ...

  3. CSDN-Markdown语法集锦

    前言: 使用Markdown近一个来月.越来越认为不舒爽. 改字体.改字号.改颜色.改样式,全不会!想加个数学公式.得,仅仅会截图.把图片传上去了还不会控制大小.也不会控制文字与图片的排版,写出来的博 ...

  4. [Manacher][HDU3613][Best Reward]

    题意: 将一段字符串 分割成两个串 如果分割后的串为回文串,则该串的价值为所有字符的权值之和(字符的权值可能为负数),否则为0. 问如何分割,使得两个串权值之和最大 思路: 裸的: 枚举分割点,计算, ...

  5. 伪元素::before和::after

    有时候我们的页面里面有不少其他网站的名字,而且还要求网站名后面还要有网站的链接,类似这样:百度(http://www.baidu.com).这个时候如果网站多的话写起来就很麻烦了 <a href ...

  6. <audio>使用2

    1.属性测试 <!--显示控件--> <audio src="../images/wind.mp3" id="audioOne" contro ...

  7. c# 调用EXCEL在VS上能正常运行,部署在IIS上不能实现,在VS中运行页面和发布之后在IIS中运行的区别

    发现一篇文章,很好,解决了这个问题:感谢原博主!特此做个笔记. 地址:http://www.cnblogs.com/zhongxinWang/p/3275154.html 发布在IIS上的Web程序, ...

  8. A - 487-3279

    Description Businesses like to have memorable telephone numbers. One way to make a telephone number ...

  9. node.js 入门(一)安装

    从 https://nodejs.org/ 下载最新版的node.js 下载完成后,双击安装, 一路点击"Next"按钮即可. 等出现上图及表示安装成功. 按"win+r ...

  10. WindowsAPI一日一练

    1.SetWindowLong和GetWindowLong 函数原型: LONG SetWindowLong( __in HWND hWnd, __in int nIndex, __in LONG d ...