参考了这个博客

#include<cstdio>
#include<algorithm>
#include<cstring>
#define Max(a,b,c,d) max(max(a,b),max(c,d))
#define Min(a,b,c,d) min(min(a,b),min(c,d))
using namespace std;
double a,b,c,d,l,r=1000000000,mid;
bool check(double lim)
{
double max_x=Max((a+lim)*(d+lim),(a-lim)*(d-lim),(a+lim)*(d-lim),(a-lim)*(d+lim));
double min_x=Min((a+lim)*(d+lim),(a-lim)*(d-lim),(a+lim)*(d-lim),(a-lim)*(d+lim));
double max_y=Max((b+lim)*(c+lim),(b+lim)*(c-lim),(b-lim)*(c-lim),(b-lim)*(c+lim));
double min_y=Min((b+lim)*(c+lim),(b+lim)*(c-lim),(b-lim)*(c-lim),(b-lim)*(c+lim));
if(max_x-min_y>=0&&min_x-max_y<=0)
return 1;
else return 0;
}
int main()
{
scanf("%lf%lf%lf%lf",&a,&b,&c,&d);
for (int i=1;i<=100;i++)
{
mid=(l+r)/2;
if (check(mid)) r=mid;
else l=mid;
}
printf("%.10lf",l);
return 0;
}

最新文章

  1. iOS UITableViewableViewCell自适应高度
  2. android环境下的即时通讯
  3. iOS通知
  4. AngularJS引入Echarts的Demo
  5. Thrift 的原理和使用
  6. BZOJ 3827: [Poi2014]Around the world
  7. ccf559c
  8. Deep Copy cv::StereoBM 深度拷贝
  9. Jni中C++和Java的参数传递 参数对照
  10. 《OD学hadoop》第一周0626 作业二:Linux基础
  11. java 四种逻辑运算符
  12. CATransition类动画
  13. 关于jquery中封装函数如何传递当前元素的问题
  14. 使用multer搭建一个图片接收服务器
  15. Loadrunner web_url函数学习(转贴)
  16. orcale和hive常用函数对照表(?代表未证实)
  17. Linux之shell典型应用之脚本实现
  18. 文件I/O实践(2) --文件stat
  19. django-restframework之缓存系统
  20. 设计、定义并实现Complex类

热门文章

  1. 51nod 1298 圆与三角形——计算几何
  2. BZOJ3884: 上帝与集合的正确用法(欧拉函数 扩展欧拉定理)
  3. Spring Cloud 入门 Consul-Server服务注册
  4. cordforce Educational Codeforces Round 47 补题笔记 &lt;未完&gt;
  5. TCP_Wrappers &amp; PAM &amp; Nsswitch服务
  6. nginx虚拟主机搭建
  7. 如何理解MVVM?
  8. 解决.NET Core R1中文乱码问题
  9. 学习Pytbon第十八篇,异常处理
  10. python学习之变量类型