LightOJ 1385 Kingdom Division (几何推导)

题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1385

题意:给你一个分成了四部分的三角形,已知a,b,c,求d是否存在

思路:链接EF,设XEF为s1,AEF为x2,根据题目我们可以求得两个等式:s1/A=C/B,(A+s1+s2)/(B+C)=s2/(s1+C),化简求即可

ac代码:

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#define PI acos(-1)
#define eps 1e-8
using namespace std;
int main()
{
    int t,cas=0;
    scanf("%d",&t);
    while(t--)
    {
        double A,B,C;
        scanf("%lf%lf%lf",&A,&B,&C);
        double b=C/B;
        double s1=b*A;
        if(B-s1<eps)
        {
            printf("Case %d: -1\n",++cas);
            continue;
        }
        double s2=(A*s1+s1*s1+A*C+s1*C)/(B-s1);
        printf("Case %d: %.7lf\n",++cas,s1+s2);
    }
    return 0;
}

你可能感兴趣的:(lightoj)