设为首页 加入收藏

TOP

zoj 3806 Incircle and Circumcircle(二分)
2015-07-20 17:47:16 来源: 作者: 【 】 浏览:1
Tags:zoj 3806 Incircle and Circumcircle (二分

题目链接:zoj 3806 Incircle and Circumcircle

题目大意:给定三角形的内接圆半径和外切圆半径,求三角形的三边长。

解题思路:以等腰三角形去构造,确定外切圆半径的时候,内切圆半径的范围为0?3 ̄ ̄√R,二分判断即可。

#include 
   
     #include 
    
      #include 
     
       #include 
      
        using namespace std; double f (double a, double R) { double t = sqrt(R * R - a * a / 4) + R; return sqrt(t * t + a * a / 4); } double judge (double a, double b, double R) { return a * b * b / (2 * R * (a + b + b)); } double bsearch (double l, double R, double v) { double r = sqrt(3.0) * R; for (int i = 0; i < 1000; i++) { double mid = (l + r) / 2; double x = f(mid, R); if (judge(mid, x, R) > v) r = mid; else l = mid; } return (l + r) / 2; } int main () { int r, R; while (scanf("%d%d", &r, &R) == 2) { if (r * 2 > R) printf("NO Solution!\n"); else { double a = bsearch(0, R, r); double b = f(a, R); printf("%.10lf %.10lf %.10lf\n", a, b, b); } } return 0; }
      
     
    
   
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Sort Me (字典树) 下一篇HDU1055 POJ2054 Color a Tree

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·哈希表 - 菜鸟教程 (2025-12-24 20:18:55)
·MySQL存储引擎InnoDB (2025-12-24 20:18:53)
·索引堆及其优化 - 菜 (2025-12-24 20:18:50)
·Shell 中各种括号的 (2025-12-24 19:50:39)
·Shell 变量 - 菜鸟教 (2025-12-24 19:50:37)