UVA 1643(p343)----Angles and Squares

来源:互联网 发布:深入浅出node.js 网盘 编辑:程序博客网 时间:2024/05/06 03:05
#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;double xa,ya,xb,yb,k1,k2;int main(){    int n;    while(scanf("%d",&n)==1&&n)    {        double l=0.0,tmp=0.0,area;        scanf("%lf%lf%lf%lf",&xa,&ya,&xb,&yb);        for(int i=0;i<n;i++)        {            double x;            scanf("%lf",&x);            tmp+=x*x/2;            l+=x;        }        k1=ya/xa;k2=yb/xb;        if(k1<k2) swap(k1,k2);        xa=l*(1+k2)/(k1-k2);        ya=k1*xa;        xb=l*(1+k1)/(k1-k2);        yb=k2*xb;        area=fabs(xa*yb-xb*ya)/2;        printf("%.3lf\n",area-tmp);    }    return 0;}

0 0