zoukankan      html  css  js  c++  java
  • hdu 2036

    题意:求解多边形面积

    解法:

    先了解数学上“叉积”的含义与性质:

    a

    三角形ΔABC的面积为:

    b

    我们可以依次计算每个三角形的面积,ΔABC,ΔACE,ΔEF … …

    a

    所有三角形的面积之和为整个多边形的面积.

    每次计算由A0,Ai,Ai+1组成的三角形

    代码:

       1:  #include<stdlib.h>
       2:  #include<string.h>
       3:  #include<stdio.h>
       4:  #include<math.h>
       5:  #define N 101
       6:  struct point{
       7:      int x;
       8:      int y;
       9:  }array[N];
      10:  int main(){
      11:      int n,i;
      12:      while(scanf("%d",&n)!=EOF && n){
      13:          double sum=0;
      14:          for(i=0;i<n;i++){
      15:              scanf("%d %d",&array[i].x,&array[i].y);
      16:          }
      17:          for(i=1;i<n-1;i++){
      18:              int ax=array[i].x-array[0].x;
      19:              int ay=array[i].y-array[0].y;
      20:              int bx=array[i+1].x-array[0].x;
      21:              int by=array[i+1].y-array[0].y;
      22:              
      23:              //很奇怪,加上ABS,就WA了
      24:              sum+=ax*by-bx*ay;                    //计算叉积,再求和
      25:          }
      26:          printf("%.1lf
    ",sum/2);
      27:      }
      28:  }
  • 相关阅读:
    [SDOI2008]递归数列
    [SCOI2008]奖励关
    [SCOI2010]幸运数字
    [ZJOI2007]矩阵游戏
    [HAOI2006]旅行
    [ZJOI2008]泡泡堂
    [BZOJ1800][Ahoi2009]fly 飞行棋
    [POJ2288]Islands and Bridges
    [LUOGU] 3959 宝藏
    [BZOJ]1029: [JSOI2007]建筑抢修
  • 原文地址:https://www.cnblogs.com/ZJUT-jiangnan/p/3655159.html
Copyright © 2011-2022 走看看