Example #1
0
 double solve()  
 {  
     u.read();v.read();  
     int k1,k2;  
     k1=mid((u-v).angle());  
     k2=mid((v-u).angle());  
     double t1=(u-v)*(p[k1]-v);  
     double t2=(u-v)*(p[k2]-v);  
     if(t1*t2>-eps)return 0.0;  
     double s1,s2;  
     P a,b;  
     s1=s2=0.0;  
     a=calc(k1,k2,s1,s2);  
     b=calc(k2,k1,s2,s1);  
     s1+=a*b;  
     s2+=b*a;  
     return min(s1,s2)/2.0;  
 }