HDU 2036 改革春风吹满地(叉积求面积)

题目链接

模板。

 1 #include <stdio.h>
 2 #include <string.h>
 3 #include <math.h>
 4 #define eps 1e-9
 5 double px[101],py[101];
 6 double cross(double x1,double y1,double x2,double y2)
 7 {
 8     return x1*y2 - x2*y1;
 9 }
10 int main()
11 {
12     int n,i;
13     double sum;
14     while(scanf("%d",&n)!=EOF)
15     {
16         sum = 0;
17         if(!n) break;
18         for(i = 1;i <= n;i ++)
19         {
20             scanf("%lf%lf",&px[i],&py[i]);
21         }
22         for(i = 1;i <= n;i ++)
23         {
24             if(i != n)
25             {
26                 sum += cross(px[i],py[i],px[i+1],py[i+1]);
27             }
28             else
29             {
30                 sum += cross(px[i],py[i],px[1],py[1]);
31             }
32         }
33         sum = sum*0.5;
34         printf("%.1lf\n",sum+eps);
35     }
36 
37 }

 

posted @ 2012-08-14 10:19  Naix_x  阅读(134)  评论(0编辑  收藏  举报