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 ...
 
随机推荐
- 堆、栈、方法区、静态代码块---Java
			
java 堆.栈.方法区 堆区: 1.存储的全部是对象,每个对象都包含一个与之对应的class的信息.(class的目的是得到操作指令) 2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基 ...
 - mysql怎样更改密码和用户名
			
mysql怎样更改密码和用户名 更改密码(老版本): mysql -u root -p Enter password:*** mysql>use mysql; --选择数据库-- Databas ...
 - spring中的web上下文,spring上下文,springmvc上下文区别(超详细)
			
web上下文(Servlet context),spring上下文(WebApplication Context),springmvc上下文(mlWebApplicationCont)之间区别. 上下 ...
 - 1010 Radix (25 分)
			
Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? The an ...
 - 前端(十二)—— JavaScript基础操作:if语句、for循环、while循环、for...in、for...of、异常处理、函数、事件、JS选择器、JS操作页面样式
			
JavaScript基础操作 一.分支结构 1.if语句 if 基础语法 if (条件表达式) { 代码块; } // 当条件表达式结果为true,会执行代码块:反之不执行 // 条件表达式可以为普通 ...
 - OpenFileDialog 打开图片存储到电脑本地上
			
替换图片 private void btnSkin_Click(object sender, RoutedEventArgs e) { string fName; OpenFileDialog ofd ...
 - Bootstrap入门及其常用内置实现
			
BootStrap是一个专门做页面的 1.BS是基于HTML CSS JS 的一个前端框架(半成品) 2.预定义了一套CSS样式与JQurey实现 3.BS和Validation类似,都是JQ的插件, ...
 - linux部署tomcat项目
			
unzip apache-tomcat-7.0.55-windows- x64.zip 解压zip文件 chmod +x startup.sh shutdown.sh catalina.sh ...
 - 【学术篇】SPOJ FTOUR2 点分治
			
淀粉质入门第一道 (现在个人认为spoj比bzoj要好_(:з」∠)_ 关于点分治的话推荐去看一看漆子超的论文>>>这里这里<<< 之前一直试图入点分治坑, 但是因 ...
 - Dubbo支持的注册中心有哪些?
			
1.Dubbo协议(官方推荐协议) 优点: 采用NIO复用单一长连接,并使用线程池并发处理请求,减少握手和加大并发效率,性能较好(推荐使用) 缺点: 大文件上传时,可能出现问题(不使用Dubbo文件上 ...