UVA Problem 10991(Region) Solution

Problem Solving, UVa

 

 

#include<bits/stdc++.h>

#include <iostream>

#include<math.h>



using namespace std;



int main()

{



    double c1,c2,c3,a,b,c,s,ang1,ang2,ang3,arc1,arc2,arc3,area,area1,area2;

    int tc;

    scanf("%d",&tc);

    while(tc--){



        scanf("%lf%lf%lf",&c1,&c2,&c3);



        a=c1+c2;

        b=c2+c3;

        c=c1+c3;



        s =(a+b+c)/2.0;

       area1 = sqrt(s*(s-a)*(s-b)*(s-c));





        ang1 = acos((b*b+c*c-a*a)/(2*b*c));

        ang2 = acos((c*c+a*a-b*b)/(2*c*a));

        ang3 = acos((a*a+b*b-c*c)/(2*a*b));





      arc1 =(c3*c3*ang1) ;

        arc2 =(c2*c2*ang3);//arc2 =(c3*c3*ang3) ;//arc2 =(c2*c2*ang3) ;

        arc3 =(c1*c1*ang2); //arc3 =(c2*c2*ang2);*///arc3 =(c1*c1*ang2);



        area2 = (arc1 +arc2 +arc3 )/2;



        printf("%.6lf\n",area1-area2);

    }

    return 0;

}

 

0 Comments

You may find interest following article