Area in Triangle /// oj10229
题目大意:
给出三角形的三个顶点 再给一条绳(绳长不超过三角形周长)
求绳子在三角形中能围出的最大面积
题解链接 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的更多相关文章
- POJ 1927 Area in Triangle(计算几何)
Area in Triangle 博客原文地址:http://blog.csdn.net/xuechelingxiao/article/details/40707691 题目大意: 给你一个三角形的三 ...
- POJ 1927 Area in Triangle
Area in Triangle Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 1674 Accepted: 821 D ...
- POJ1927 Area in Triangle
Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 1458 Accepted: 759 Description Give ...
- 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 ...
- POJ 1927 Area in Triangle 题解
link Description 给出三角形三边长,给出绳长,问绳在三角形内能围成的最大面积.保证绳长 \(\le\) 三角形周长. Solution 首先我们得知道,三角形的内切圆半径就是三角形面积 ...
- UVa 11437:Triangle Fun(计算几何综合应用,求直线交点,向量运算,求三角形面积)
Problem ATriangle Fun Input: Standard Input Output: Standard Output In the picture below you can see ...
- zoj 1010 Area【线段相交问题】
链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1010 http://acm.hust.edu.cn/vjudge/ ...
- Triangle 1.6 (A Two-Dimensional Quality Mesh Generator and Delaunay Triangulator)
Triangle 一个二维高质量网格(mesh)生成器和Delaunay三角化工具. PSLG(Planar Straight Line Graph)约束Delaunay三角网(CDT)与Delaun ...
- [ZJU 1010] Area
ZOJ Problem Set - 1010 Area Time Limit: 2 Seconds Memory Limit: 65536 KB Special Judge Jer ...
随机推荐
- Ubuntu14.04搭建JSP与Servlet开发环境及其测试详解
一,搭建JDK开发环境 1,在Java官网下载Jdk软件包,我的系统是64位Ubuntu14.04,所以选择jdk-8u25-linux-x64.tar.gz. 2,解压Jdk软件包 tar xvzf ...
- vmvare下centos7配置静态ip
首先,将网络适配设置成为桥接模式 查看本机IP地址,ipconfig,记住ipv4地址和默认网关地址,等会配置的时候要用 启动Centos,进入终端模式,设置IP地址, 切换到这个目录下,cd /et ...
- Spring Boot配置随机数
Spring Boot支持在系统加载的时候配置随机数. 添加config/random.properties文件,添加以下内容: #随机32位MD5字符串 user.random.secret=${r ...
- java-day02
数据类型自动转换 要求:数据范围从小到大 数据类型强制类型转换 格式:范围小的数据类型 范围小的变量名 = (范围小的数据类型)原范围大的数据 注意事项: 1.可以会造成数据溢出或者是精度损失. 2. ...
- 52-Ubuntu-打包压缩-2-打包/解包
tar是Linux中最常用的备份工具,此命令可以把一系列文件打包到一个大文件中,也可以把一个打包的大文件恢复成一系列文件. 序号 命令 作用 01 tar -cvf 打包文件.tar 被打包文件 打包 ...
- 51-Ubuntu-打包压缩-1-打包压缩简介
打包压缩是日常工作中备份文件的一种方式 在不同操作系统中,常用的打包压缩方式是不同的 Windows 常用 rar Mac 常用 zip Linux 常用 tar.gz
- Django(十四)课程机构列表页数据展示,Django的modelform,关于urls的重新分发
关于urls的重新分发: 如果所有url都配置在根路径的urls.py里,会特别多,而且也不易于修改,Django框架里支持urls的重新分发: 1.在根路径的urls配置上: PS:namespac ...
- 行动带来力量,周三(5月7日)晚IT讲座通知
讲座简单介绍 ITAEM团队负责人骆宏等和大家周三晚8点(5月7日)相约钟海楼03035.和大家分享团队成员的"编程入门之路",在这里,同龄人(大三)以学生的角度.和大家分 ...
- 百度网盘不限速下载PanDownload网页版+IDM
1.安装配置IDM 下载链接:链接:https://pan.baidu.com/s/13P4ae-IPgi5Y13CGEZgmlg 提取码:do44 安装后在浏览器(推荐chrome或Firefox) ...
- 【HDOJ】P1215 七夕节
题目意思很简单,不解释 有两种方法, 1是暴力法,不就是 2就是下面要讲的方法 假如果说一个数n可以被b整除,那么一定可以被b的因子整除 那么我需要做的就是枚举这些因子 多余的请看代码 #includ ...