hdu 2036

时间:2021-01-06 15:16:13

Ps:  - -感觉这道题完全就是数学题...就是求知道每个顶点的坐标,然后求这个多边形的面积...

代码:#include "stdio.h"
#include "stdlib.h"
#include "math.h"
int main(){
 int x[100],y[100];
 int i,k,n;
 double sum;
 while(~scanf("%d",&n)){
  if(n==0) return 0;
  for(i=0;i<n;i++){
   scanf("%d%d",&x[i],&y[i]);
  }
  sum=0;
  for(i=0;i<n;i++){
   if(i!=n-1){
    k=(x[i]*y[i+1])-(x[i+1]*y[i]);
    sum+=((double)k/2); 
    //printf("%.1lf",sum);
   }
      else if(i==n-1){
       k=(x[i]*y[0])-(x[0]*y[i]);
       sum+=((double)k/2);
      // printf("%.1lf",sum);
      }
  }
  printf("%.1lf\n",fabs(sum)); 
 }
 return 0;
}