链接

物理渣只能搜题解了。。

分三种情况

1、len>=a+b+c

2、len<内切圆半径 圆的面积是最大的 --》以len为周长的圆

3、看这篇http://blog.sina.com.cn/s/blog_6a46cc3f0100tujn.html

 #include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<vector>
#include<cmath>
#include<queue>
#include<set>
using namespace std;
#define N 100000
#define LL long long
#define INF 0xfffffff
const double eps = 1e-;
const double pi = acos(-1.0);
const double inf = ~0u>>;
int dcmp(double x)
{
if(fabs(x)<eps) return ;
else return x<?-:;
}
int main()
{
double a,b,c,l;
int kk = ;
while(scanf("%lf%lf%lf%lf",&a,&b,&c,&l)!=EOF)
{
if(fabs(a)<eps&&fabs(b)<eps&&fabs(c)<eps&&fabs(l)<eps) break;
double p = (a+b+c)/;
double area = sqrt(p*(p-a)*(p-b)*(p-c));
double r = sqrt((p-a)*(p-b)*(p-c)/p);
double ans ;
if(dcmp(*pi*r-l)>=)
{
ans = l*l/(*pi);
//cout<<"2"<<endl;
}
else if(dcmp(l-a-b-c)>=)
{
ans = area;
//cout<<"1"<<endl;
}
else
{
double k = (a+b+c-l)/(a+b+c-*pi*r);
r*=k;
ans = area-area*k*k+pi*r*r;
// cout<<"3"<<endl;
}
printf("Case %d: %.2f\n",++kk,ans);
}
return ;
}

最新文章

  1. csharp: .NET Object Relationional Mapper (ORM)- SubSonic
  2. 提取本地环境中部署RDLC的DLL
  3. .net经验积累
  4. 2016/4/21 关于jquery复习
  5. 关于UIWindow(转)
  6. Java线程(一):线程安全与不安全
  7. css first-letter实现首字(字母)下沉效果
  8. zencart后台增加菜单选项
  9. MCS-51单片机的指令时序
  10. spring的官方文真不错
  11. Dan计划:重新定义人生的10000个小时 - 阮一峰的网络日志
  12. [置顶] android系统如何在静音模式下关闭camera拍照声音(2)
  13. ORM-Dapper学习&lt;一&gt;
  14. java Log4j日志配置详解大全
  15. webpack + babel
  16. 关于构造器中的super()
  17. HNOI 2018 简要题解
  18. Oracle_安装说明
  19. 【JVM】Class结构之常量池
  20. spring事物要知道

热门文章

  1. js 字符串比较
  2. java事务的类型——面试被问到
  3. 使用django的ImageField和from制作上传图片页面
  4. Dual Core CPU
  5. n条直线最多能将一个平面分成多少部分?
  6. Android mvp模式、mvvm模式
  7. 2016年11月26日 星期六 --出埃及记 Exodus 20:17
  8. python学习笔记二 数据类型(基础篇)
  9. Struts2的输入校验(2)——客户端校验
  10. size()弃用