2011-12-20 11:11:18
地址:http://acm.hdu.edu.cn/showproblem.php?pid=2036
题意:中文。
mark:求凸多边形面积。计算几何。
代码:
# include <stdio.h>
typedef struct point{
int x, y ;
}point ;
point a[110] ;
double area(point p, point q)
{
return p.x*q.y - p.y*q.x ;
}
int main ()
{
int i, n ;
double sum ;
while (~scanf ("%d", &n) && n)
{
for (i = 0 ; i < n ; i++)
scanf ("%d%d", &a[i].x, &a[i].y) ;
sum = area(a[n-1], a[0]) ;
for (i = 1 ; i < n ; i++)
sum += area(a[i-1], a[i]) ;
printf ("%.1lf\n", 0.5 * sum) ;
}
return 0 ;
}