分析:题意就是要求两个多边形相交的部分的面积如果会求多边形的核,这题就不难了,可以看我写的一篇POJ 1279 求多边形的核,因为本题已经说了给定的是顺时针方向,所以把POJ 1279的逆时针改下,再稍微改几个地方几可以了。
# include <stdio.h>
# include <math.h>
# define EPS 1e-8
struct point
{
double x,y;
};
void Swap(point &a,point &b)
{
point t;
t=a; a=b; b=t;
}
double Cross(point a,point b,point c)
{
return (b.x-a.x)*(c.y-a.y)-(c.x-a.x)*(b.y-a.y);
}
double Area(point v[1505],int n)
{
int i;
double ans=0;
for(i=1;i<n;i++)
ans+=Cross(v[1],v[i],v[i+1]);
if(fabs(ans/2)<EPS) return 0;
return -a