题目大意:

给出三角形的三个顶点 再给一条绳(绳长不超过三角形周长)

求绳子在三角形中能围出的最大面积

题解链接 http://blog.sina.com.cn/s/blog_6a46cc3f0100tujn.html

多边形和圆 周长相同时 圆的面积更大

而当绳长超过三角形的内接圆时

沿着边放 对应三角的三个位置围成三段圆弧

使得三段圆弧能围成一个圆时 面积就能更大

而此时这个小圆也会与小三角形内接 与大圆和大三角形相似

计算比例 k=(小三角周长-小内接圆周长)/(大三角周长-大内接圆周长)

那么此时 绳围面积=S大三角-(S小三角-S小内接圆)

按比例可得到小内接圆半径 可得 S小内接圆

又S大三角=底*高 -> 缩小k比例 -> S小三角=(k*底)*(k*高)=k*k*S大三角

#include<cstdio>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std;
const double PI=acos(-1.0);
int main()
{
double a,b,c,d;
int tcase=;
while(~scanf("%lf%lf%lf%lf",&a,&b,&c,&d)) {
if(a+b+c+d==) break;
double L=a+b+c, l=L*0.5;
double area=sqrt(l*(l-a)*(l-b)*(l-c));
double R=area*2.0/L, ans;
if(a+b+c<=d) ans=area;
else if(2.0*PI*R>=d) ans=d*d/(4.0*PI);
else {
double k=(L-d)/(L-2.0*PI*R);
R*=k; // 得到小内接圆半径
ans=area-k*k*area+PI*R*R;
}
printf("Case %d: %.2f\n",++tcase,ans);
} return ;
}

Area in Triangle /// oj10229的更多相关文章

  1. POJ 1927 Area in Triangle(计算几何)

    Area in Triangle 博客原文地址:http://blog.csdn.net/xuechelingxiao/article/details/40707691 题目大意: 给你一个三角形的三 ...

  2. POJ 1927 Area in Triangle

    Area in Triangle Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 1674   Accepted: 821 D ...

  3. POJ1927 Area in Triangle

      Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 1458   Accepted: 759 Description Give ...

  4. hdu 1451 Area in Triangle(计算几何 三角形)

    Given a triangle field and a rope of a certain length (Figure-1), you are required to use the rope t ...

  5. POJ 1927 Area in Triangle 题解

    link Description 给出三角形三边长,给出绳长,问绳在三角形内能围成的最大面积.保证绳长 \(\le\) 三角形周长. Solution 首先我们得知道,三角形的内切圆半径就是三角形面积 ...

  6. UVa 11437:Triangle Fun(计算几何综合应用,求直线交点,向量运算,求三角形面积)

    Problem ATriangle Fun Input: Standard Input Output: Standard Output In the picture below you can see ...

  7. zoj 1010 Area【线段相交问题】

    链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1010 http://acm.hust.edu.cn/vjudge/ ...

  8. Triangle 1.6 (A Two-Dimensional Quality Mesh Generator and Delaunay Triangulator)

    Triangle 一个二维高质量网格(mesh)生成器和Delaunay三角化工具. PSLG(Planar Straight Line Graph)约束Delaunay三角网(CDT)与Delaun ...

  9. [ZJU 1010] Area

    ZOJ Problem Set - 1010 Area Time Limit: 2 Seconds      Memory Limit: 65536 KB      Special Judge Jer ...

随机推荐

  1. phpMailer 手册

    phpMailer5.0.0属性: 英文地址:http://phpmailer.worxware.com/index.php?pg=properties 属性 (v5.0.0) 类型 默认 描述 $P ...

  2. mysql的数据类型int、bigint、smallint 和 tinyint及id 类型变换

    bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节. int 从 ...

  3. PAT_A1103#Integer Factorization

    Source: PAT A1103 Integer Factorization (30 分) Description: The K−P factorization of a positive inte ...

  4. 整合phoenix4.6.0-HBase-1.0到cdh5..4.7 编译phoenix4.6源码 RegionServer 宕机

    Phoenix 集成HBase Phoenix 版本:phoenix-4.6.0-HBase-1.0 源码下载地址: http://apache.cs.uu.nl/phoenix/phoenix-4. ...

  5. mysql高效导入导出load data [infile][outfile]用法

    一.MySQL高效导入数据的方法load data infile load data infile语句从一个文本文件中以很高的速度读入一个表中.使用这个命令之前,mysqld进程(服务)必须已经在运行 ...

  6. Reqests----Get请求之参数化

    一.环境安装 >>pip install requests 注意:pip很容易就会版本升级,如果用python3的,请使用pip3 install requests 1.初始化版本 2.把 ...

  7. 随笔-ansible-6

    Ansible中的变量引用有时候需要双引号,有时候不需要双引号,这是因为Ansible是多人协作的作品,所以没有统一. 一切以官网说明为主,同时自己也要实践. 这是一个example.yml文件,我们 ...

  8. 自记录:git如何上传文档到git@osc

    前提: D盘有gitserver文件夹 双击桌面的git.exe文件,打开git命令窗口 输入cd  d: 命令进入D盘 输入cd gitserver命令进入 找到git@osc自己参与项目里的htt ...

  9. Spring mvc Hello World

    Spring mvc Hello World 添加依赖 <dependency> <groupId>org.springframework</groupId> &l ...

  10. 笔记43 Spring Web Flow——订购披萨应用详解

    一.项目的目录结构 二.订购流程总体设计 三.订购流程的详细设计 1.定义基本流程pizza-flow.xml <?xml version="1.0" encoding=&q ...