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 ...
随机推荐
- 24、echarts做报表
1.今天就来讲一讲echarts的使用 使用步骤 (1)首先需要下载包echarts.js,然后引入该包, <!DOCTYPE html> <html> <header& ...
- Openstack组建部署 — Glance Install
目录 目录 前文列表 Image service overview Openstack Image service包含的组件 Install and configure Prerequisites 先 ...
- Xen的半虚拟化(Paravirtualization)
三个特权级 IA-32体系提供了4个特权级别,正常情况下只用了2个, 操作系统运行在Ring 0,而应用程序运行在Ring 3. Xen让自己运行在Ring 0, 而操作系统运行在Ring 1, 应用 ...
- (转载)js调用打印机 打印整体或部分
本文转载自:https://www.cnblogs.com/lfhy/p/6802781.html 以下为原文内容: 有时前端的项目中需要添加打印的功能,首先要知道打印分为整体打印和局部打印两种,而局 ...
- autocad 2015 破解方法
下载 http://trial.autodesk.com/SWDLDNET4/2015/ACD/DLM/AutoCAD_2015_Simplified_Chinese_Win_64bit_dlm.sf ...
- Centos光盘ISO安装过程再理解
ISO启动时的基本流程 vmlinuz -> 加载initrd.img -> 加载内核基本驱动 -> 挂载光盘至/run/install/repo -> 启动anaconda ...
- postgres日志爆盘处理方案-转自DBA汪x
背景:我们的服务是一个带有部分批处理业务的服务,在跑历史数据入pg时会有大量日志产出,现场服务器出现过几次爆盘,询问DBA后制定了以下两个方案: 方案一:如果不关心或不会使用pg日志,通过参数控制减少 ...
- 高效IO之Dex加密(三)
更多Android高级架构进阶视频学习请点击:https://space.bilibili.com/474380680 apk加固原理之dex加密 原理其实不复杂,加固其实就是加密dex文件,防止de ...
- java-day25
. 标签学习: 1. 文件标签:构成html最基本的标签 * html:html文档的根标签 * head:头标签.用于指定html文档 ...
- vue-router 使用二级路由去实现子组件的显示和隐藏
在需求中有一个这样的情况:一个组件在主组件和另外的组件中引用,且点击主组件和这个组件分别有相应得切换事件. 一开始的时候我是没有划分组件,把它们放到主组件内,这样便于切换,但是主主件内有独立的部分需要 ...