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 ...
随机推荐
- 如何扫描统计全国Telnet默认口令
如何扫描统计全国Telnet默认口令 zrools2016-01-21共339474人围观 ,发现 23 个不明物体系统安全终端安全 本文原创作者:zrools 本文中介绍的工具.技术带有一定的攻击性 ...
- Tomcat运行错误示例二
Tomcat运行错误示例二 当遇到这种错误时,一般是构建路径的问题,按步骤来就好.如图: 点击---->库---->Add Library---->下一步---->选择tomc ...
- gcc将c源文件中的宏展开
1: sudo gcc -P -I. -I../instrument/stubs -I../instrument/stubs -I../ -E ctrl_xfer32.cc -o preprocess ...
- shell 删除超过30天的文件和目录
#!/bin/bash location="/root/sqlbak/" find $location -mtime +30 -type d |xargs rm -rf #删除目录 ...
- Gerrit Handbook for Commercial Project
前注:常见‘坑’ 不要使用 2.14 版本 gerrit.conf 中 [sendemail] 部分必须有 from = ... 字段,否则无法添加邮箱 gerrit 以用户组为单位划分权限,先将用户 ...
- 剑指offer——66翻转字符串
题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,“student ...
- 剑指offer——49礼物的最大价值
题目描述 在一个m*n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于0).你可以从棋盘的左上角开始拿格子里的礼物,并每次向左或者向下移动一格,知道到达棋盘的右下角.给定一个棋盘及其上面 ...
- JS:面向对象(基础篇)
面向对象(Object-Oriented,OO)的语言有一个标志,那就是它们都有类的概念.long long ago,js是没有类的概念(ES6推出了class,但其原理还是基于原型),但是它是基于原 ...
- 通过字体代替图片优化,如何使用Font Awesome字体图标?
博客搬迁,给你带来的不便敬请谅解! http://www.suanliutudousi.com/2017/10/17/%E9%80%9A%E8%BF%87%E5%AD%97%E4%BD%93%E4%B ...
- 牛客OI月赛12-提高组题解
牛客OI月赛12-提高组 当天晚上被\(loli\)要求去打了某高端oj部分原创的模拟赛,第二天看了牛客的题觉得非常清真,于是就去写了 不难发现现场写出\(260\text{pts}\)并不需要动脑子 ...